月光博客 » 编程开发 » Java在Web开发语言上败给了PHP

Java在Web开发语言上败给了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依旧是未来的趋势。

Java在Web开发语言上败给了PHP

顶一下 ▲()   踩一下 ▼()

相关文章

  1. 1
    Anatorian   说道:
    没想到月光也回来评论这事。
    其实,Andi Gutmans只是说java在web开发方面败给php,并没有说java在所有方面败给php。Java已经在100件事上做得很好,完全胜过php,在一件事上败给php也没什么。
    java适合于做企业内部使用的业务密集型的网站,php适合于做对外的展示密集和交互密集型的网站,各有各的适用领域。从这个角度来说,java并没有输掉,还占据着自己的地盘。
    java界已经发现了java在web开发上的许多不足,正在努力学习进步。一方面,java开发者们将各种善于做web开发的动态语言移植到java平台上,比如 ruby -> jruby, python -> jython, 甚至于php都可以在jvm上运行。Jruby目前运行效率比原生的C ruby 还要高。另一方面java也在创造着自己的原生动态语言来提高开发效率,比如groovy。最后,jvm本身在前年彻底开源后,也在酝酿着变革。 新版jvm将会更苗条,更有序的管理jar包,对动态语言提供更好的支持。我相信不久的将来,用java做web开发会像php一样快速。
    楼上的reg112331 骂人太不应该了,你可以不喜欢别人,但是伤害别人就不应该。
    支持(43反对(17回复
  1. 2
    Giles   说道:
    Java适合装逼,所以我选择了java
    支持(36反对(14回复
  1. 3
    reg112331是SB   说道:
    reg112331是SB,鉴定完毕。
    支持(26反对(11回复
  1. 4
    lance   说道:
    PHP和java我都用过,各有各的优势,
    PHP的优势在于简单易用,适合小规模和个人网站开发,对于一些有很复杂的业务的应用而言,没有任何优势。
    Java的优势在于其架构,我从事软件开发将近7年了,Java语言是我所见过的实现最优雅合理的语言,感觉她就像是具有贵族血统;另外,就Web开发而言,Java有良好的可扩展性,你可以在网上搜索到各种各样的组件,这一点是任何语言都无法比拟的,最后Java有Eclipse这个免费的开发环境,虽然免费,但是它是最好的集成开发环境(至少我认为),有无数的插件支持。
    最后,web开发只是整个J2ee架构中很小的一个部分,并不代表整个java体系。
    所以,PHP和Java根本就不是一个级别的东西,Java是一首超级豪华的邮轮,她上面有你所需要的所有工具和组件,而PHP至多就是一个Web表示层的实现方法,这之间的差距不用我说,相信大家也会明白。
    另外,告诉大家,目前几乎所有的大型企业和银行系统都有转向使用Java的趋势,原因之一是因为有IBM、SUN、HP、Orcale等巨型公司的推动。
    支持(31反对(16回复
  1. 5
    no17angel   说道:
    ls说的对,技术如果有大企业的支持和推动,未来的前景才是好的。
    支持(20反对(9回复

发表留言


点击更换验证码