`
eyesmore
  • 浏览: 364003 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java vs php

    博客分类:
  • php
阅读更多

PHP的主要语言开发者之一、Zend公司的创始人之一Andi Gutmans最近在blog中直言不讳地批评了Java语言。他指出,目前Java厂商试图在JVM上提供动态语言实现的路子根本不对,Java已经输 掉了Web开发语言的战争,PHP是事实上的标准和胜利者。

  Gutmans的这篇文章在技术界引发了强烈争议,很对人对此有不同的意见,我在这里就阐述一下我对PHP和Java两种语言的看法。

  我早先曾经在《Perl、PHP、ASP、JSP技术比较》一文中对比过PHP和Java的异同,简而言之,PHP是一种解释执行的脚本语 言,语法和C语言类似,易学易用,不懂电脑的非专业人员稍经学习也能使用 PHP.而Java要先编译成Class文件,然后在Java虚拟机上执行,Java开发需要熟悉Java语法以及一些核心的架构,从而实现一种可复用 的、跨平台的软件,Java比PHP要难学的多。

  实际上,从技术架构来说,Java语言相比PHP有明显的优势,Java使用的是面向对象的系统设计方法,而PHP还是采用面向过程的开发方 法。PHP只能实现简单的分布式两层或三层的架构,而JAVA可以实现多层架构。数据库层(持久化层)、应用(业务)逻辑层、表示逻辑层彼此分开,而且现 在不同的层都已经有一些成熟的开发框架的支持。例如Struts就是利用Java的web开发技术实现了MVC的设计模式,而在业务逻辑层也有 Spring框架,数据库持久化层有Hibernate等框架。这些框架可以方便开发者高效、合理、科学得架构多层的商业应用。从数学运算和数据库访问速 度来讲,Java的性能也优于PHP.实际上,对于跨平台的大型的企业应用系统来讲,Java几乎已经成为唯一的选择(微软.NET不支持跨平台),但是 在于Web网站应用开发来讲,Java却面临着被PHP边缘化的危险,几乎所有的虚拟主机都支持PHP+ MySQL,而支持Java的却少之又少,在资源上,网上有不计其数的PHP资源,很多著名的大型网站(例如Facebook、Mediawiki等)都 是基于PHP的,而成功的Java网站却寥寥无几,这又是什么原因呢?

  Java的理念是“一次编写,到处运行”,Java在应用框架底下的架构是无与伦比的,远胜过其他任何语言,Java的框架利于大型的协同编 程开发,系统易维护、可复用性较好。而PHP很容易自学,让热备能快速简洁地编写代码,适合于快速开发,中小型应用系统,开发成本低。在调试、发布 上,PHP也较Java简单。

  理念上的不同导致了Java和 PHP在Web应用开发上显示了不同的结果,尽管Java的数学计算和数据库访问都有优势,架构也相当完美,但是PHP却可以简单轻松地支持高强度Web 访问,能够快速开发应用,支持PHP的虚拟主机多如牛毛,使得用PHP开发一个网站比用Java开发一个网站要快得多,容易的多。Java所拥有的优点只 适合传统的以软件项目为核心的开发模式,而PHP更适合于以客户为核心的SaaS的开发模式,因此,PHP目前在Web网站开发的优势完全是因为Web网 站开发的特殊性而导致的,并非编程语言特性所决定。

  因此,PHP在Web网站开发语言的战争中已经慢慢将Java抛在了后面,Java要想在Web网站开发上奋起直追,的确应该多听听Andi Gutmans的意见,彻底改变一下思路才行,否则两者的差距只能是越来越远。

  另外,虽然在国际上LAMP(Linux+Apache+Mysql+Php)架构已经占领了统治地位 ,但是在中国国内还有一个怪胎,就是基 于微软的 Windows Server+IIS+SqlServer+ASP/ASP.NET的架构,从理论上说,微软的这一套架构也能实现不错的性能,只可惜Windows和 SqlServer价格不菲,整个架构在性能上比起LAMP不仅没有什么优势,反而还有不少劣势,因此微软的这一套家伙在国际市场上吃不开。而国内使用微 软盗版则可以忽略成本,而ASP的易学易用性不逊于PHP,甚至连IT外行都能够使用,因此在国内也有不小的市场。但是随着中国在保护知识产权方面的日趋 完善,免费的LAMP依旧是未来的趋势。

 

转载:http://anti-pure.iteye.com/blog/197388

 

分享到:
评论

相关推荐

    php调用JAVA类

    php调用JAVA类

    java-phpjava-phpjava-phpjava-phpjava-phpjava-phpjava-phpjava-php

    java-php 桥软件java-phpjava-phpjava-phpjava-phpjava-phpjava-phpjava-phpjava-phpjava-php

    PHP/Java Bridge的JavaBridge.jar、php-servlet.jar和php-script.jar

    PHP/Java Bridge的JavaBridge.jar、php-servlet.jar和php-script.jar

    php5-java扩展dll, php_java.dll,php_java.jar

    php5的java扩展资源.加入到ext中更改ini文件: [java] java.home=D:/Java/jdk1.5.0_09/jre java.library=D:/Java/jdk1.5.0_09/jre/bin/server/jvm.dll java.library.path=D:/php/ext/ java.class.path="D:/...

    php-java-bridge 配置包

    4.目前的版本是VMBridge了,要php调用java类,要先启动JavaBridge,为了以后启动方便,我在ext/下新建了一个bat文件内容如下: @echo off start javaw -jar JavaBridge.jar 保存后,双击启动 会有一个提示框选择...

    Java和PHP之间的桥梁

    Java和PHP之间的桥梁, PHP 5.5以上和JDK1.5以上的,实现PHP调用Java的接口!

    Java调用php的webservice

    Java调用php的webservice: header("Content-Type:text/html;charset=UTF-8"); // require('lib/nusoap.php'); require_once("lib/nusoap.php"); $server = new soap_server(); $server->configureWSDL('...

    java和php通信

    使用java的serversocket建立一个端口,然后php使用此端口和java进行交互

    php调用java类

    用php-java-bridge配置php调用java类的环境,里面包含了php-java-bridge5.4.5版本,以及我总结的配置方法,我已经配置成功了。官方网站下载的最新php-java-bridge会有点问题。

    PHP调用Java类库

    PHP通过JavaBridge调用Lucene引擎的环境配置文档。 本文主要讲解环境配置与JavaBridge的使用。PHP如何调用Java类库。

    Linux Apache Java Php介绍

    Linux Apache Java Php PHP 结合 JAVA 的开发技术 LAJP 名称来源于著名的 LAMP(Linux,Apache,Mysql,Php) , LAMP 是轻量级的开发 Web 程序的环境,在 Internet 上有广泛 的应用,但对于企业开发,如金融、电信领域, LAMP...

    php调用java jar包

    php调用java类的方法 需要将java工程打包称jar包之后调用

    java . php 代码统计插件

    java . php 代码统计插件 java . php 代码统计插件

    php中的java扩展文件|php调用android支付宝接口

    资料中包括php扩展和php引用的java文件java/JavaProxy.php,java/Java.inc两个php运行引入文件。ext/php_java.jar,ext/JavaBridge.jar,ext/php_java.dll.GDK自己下载。由于限制上传大小,没有上传。详细的安装过程,...

    php_java.jar和php_java.dll

    苦苦找php_java.jar和php_java.dll的朋友可以来下了

    RSA加密JAVA转C# JAVA转PHP,C#转JAVA

    rsa秘钥转换工具,可以java转成C#格式也可以C#转成java格式,也可以java转换为PHP格式,绝对可以使用,打开提示错误请安装.netframework

    java 序列化成PHP格式。

    将java数据 序列化成PHP的格式 a:4:{s:6:"title2";s:13:"这是标题2";s:6:"title3";s:13:"这是标题3";s:5:"title";s:13:"这是标题1";s:6:"title4";s:13:"这是标题4";} 或者a:1:{i:0;a:1:{s:4:"name";s:10:"这是1321";...

    php调用java方法介绍

    linux下简单的php调用java方法,用到java的jdk、Php-java-bridge等内容。

    资深PHP、Java开发工程师

    1.精通Java开发语言,至少两年以上J2EE开发经验。 2.熟悉RESTful-jersey框架。 3.熟悉Spring/SpringMVC/MyBatis等主流开发框架。 4.熟悉MySql/Oracle/DB2等主流数据库中的一种。 5.熟悉Tomcat/Jboss/Weblogic/...

Global site tag (gtag.js) - Google Analytics