首 页 | 列 表

# Java在Web开发语言上败给了PHP 批量生成演示

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

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

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

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

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

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

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

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