Java在Web开发语言上败给了PHP????
发表时间:2011-4-28
发布人:葵宇科技
浏览次数:34
的主要语言开发者之一、Zend公司的创始人之一Andi Gutmans最近在blog中直言不讳地批评了 语言。他指出,目前 厂商试图在JVM上提供动态语言实现的路子根本不对, 已经输掉了Web开发语言的战争, 是事实上的标准和胜利者。
Gutmans的这篇文章在技术界引发了强烈争议,很对人对此有不同的意见,我在这里就阐述一下我对
和 两种语言的看法。我早先曾经在《Perl、
、ASP、JSP技术比较》一文中对比过 和 的异同,简而言之, 是一种解释执行的脚本语言,语法和C语言类似,易学易用,不懂电脑的非专业人员稍经学习也能使用 .而 要先编译成Class文件,然后在 虚拟机上执行, 开发需要熟悉 语法以及一些核心的架构,从而实现一种可复用的、跨平台的软件, 比 要难学的多。实际上,从技术架构来说,
语言相比 有明显的优势, 使用的是面向对象的系统设计方法,而 还是采用面向过程的开发方法。 只能实现简单的分布式两层或三层的架构,而 可以实现多层架构。数据库层(持久化层)、应用(业务)逻辑层、表示逻辑层彼此分开,而且现在不同的层都已经有一些成熟的开发框架的支持。例如Struts就是利用 的web开发技术实现了MVC的设计模式,而在业务逻辑层也有Spring框架,数据库持久化层有Hibernate等框架。这些框架可以方便开发者高效、合理、科学得架构多层的商业应用。从数学运算和数据库访问速度来讲, 的性能也优于 .实际上,对于跨平台的大型的企业应用系统来讲, 几乎已经成为唯一的选择(微软.NET不支持跨平台),但是在于Web网站应用开发来讲, 却面临着被 边缘化的危险,几乎所有的虚拟主机都支持 +MySQL,而支持 的却少之又少,在资源上,网上有不计其数的 资源,很多著名的大型网站(例如Facebook、Mediawiki等)都是基于 的,而成功的 网站却寥寥无几,这又是什么原因呢?的理念是“一次编写,到处运行”, 在应用框架底下的架构是无与伦比的,远胜过其他任何语言, 的框架利于大型的协同编程开发,系统易维护、可复用性较好。而 很容易自学,让热备能快速简洁地编写代码,适合于快速开发,中小型应用系统,开发成本低。在调试、发布上, 也较 简单。
理念上的不同导致了
和 在Web应用开发上显示了不同的结果,尽管 的数学计算和数据库访问都有优势,架构也相当完美,但是 却可以简单轻松地支持高强度Web访问,能够快速开发应用,支持 的虚拟主机多如牛毛,使得用 开发一个网站比用 开发一个网站要快得多,容易的多。 所拥有的优点只适合传统的以软件项目为核心的开发模式,而 更适合于以客户为核心的SaaS的开发模式,因此, 目前在Web网站开发的优势完全是因为Web网站开发的特殊性而导致的,并非编程语言特性所决定。因此,
在Web网站开发语言的战争中已经慢慢将 抛在了后面, 要想在Web网站开发上奋起直追,的确应该多听听Andi Gutmans的意见,彻底改变一下思路才行,否则两者的差距只能是越来越远。另外,虽然在国际上LAMP(Linux+Apache+Mysql+
)架构已经占领了统治地位,但是在中国国内还有一个怪胎,就是基于微软的Windows Server+IIS+SqlServer+ASP/ASP.NET的架构,从理论上说,微软的这一套架构也能实现不错的性能,只可惜Windows和SqlServer价格不菲,整个架构在性能上比起LAMP不仅没有什么优势,反而还有不少劣势,因此微软的这一套家伙在国际市场上吃不开。而国内使用微软盗版则可以忽略成本,而ASP的易学易用性不逊于 ,甚至连IT外行都能够使用,因此在国内也有不小的市场。但是随着中国在保护知识产权方面的日趋完善,免费的LAMP依旧是未来的趋势。