您的位置:首页>>互联网

PHP语言教父Gutmans炮轰Java:已经输掉Web之战

发布时间:2008-04-15 19:04:55  来源:互联网    背景:

  PHP 3之后的主要语言开发者之一、Zend公司的创始人之一Andi Gutmans最近在blog中直言不讳地批评了Java语言。他指出,目前Java厂商试图在JVM上提供动态语言实现的路子根本不对,应该全面拥抱标准的动态语言。

  由于Gutmans的特殊地位,他的这篇长文已经在技术界引发了强烈争议。参见其blog上和TSS上的讨论1,2。

  下面是对全文的一个编译版本,基本反映了原貌。其中对多核环境中多线程(JVM)与多进程(LAMP)的比较,C语言生态系统以及开源语言与Java等厂商语言和技术的比较,感觉都是非常有价值的。

  PHP 3之后的主要语言开发者之一、Zend公司的创始人之一Andi Gutmans最近在blog中直言不讳地批评了Java语言。他指出,目前Java厂商试图在JVM上提供动态语言实现的路子根本不对,应该全面拥抱标准的动态语言。

  由于Gutmans的特殊地位,他的这篇长文已经在技术界引发了强烈争议。参见其blog上和TSS上的讨论1,2。

  下面是对全文的一个编译版本,基本反映了原貌。其中对多核环境中多线程(JVM)与多进程(LAMP)的比较,C语言生态系统以及开源语言与Java等厂商语言和技术的比较,感觉都是非常有价值的。

  翻译上的问题,请多指教。

  --------------------------------------------------------------------------------

    Gutmans回忆自己几 年前参与的一个基于IBM Websphere的大型企业级项目。项目团队中无论开发还是架构人员都非常出色,但其中最优秀的人与Andi谈起PHP和动态语言时,还是将之视为玩具 语言。这在当时正是Java界对动态语言的典型心态。但是,他们恰恰忽视了Web,因此Java EE设计时并没有以Web为中心,而且关注在企业集成、事务管理和其他后端处理上。虽然Java EE通过servlet和JSP支持Web开发也有不短的历史,但是掌握标准发展的大公司们忽视了Web的RESTful本质,仍然在向通用平台的方向上 走。

  而与此同时,建于C语言库和工具的生态系统之上的LAMP架构,则成了Web程序最流行的开发平台。其中最常用的语言是PHP。由于PHP专注于 Web开发,而且为此不断演变,它简直就是为Web范型(paradigm)量身打造的,能够快速和容易地解决常见的Web问题,因此获得了最大的市场份 额。根据Ajaxian。com的调查,大约50%的RIA开发人员都使用PHP。由于各种PHP程序如Wordpress, Drupal, mediaWiki, osCommerce, SugarCRM的流行,这种趋势更加明显。

  随着大多数业务应用程序包括CRM、ERP、报表、文档管理等等也都转向了Web,那些大的Java厂商都意识到,Java对Web范型的形成和 发展影响甚微,因此他们开始支持各种标准和非标准的Java Web框架(JSF、Struts、Spring MVC等等),要使Java适应Web。这些框架虽然有些也取得了一定成功,但是它们都无法解决Java在Web上的主要问题:由于严格的类型化和架构过 度复杂,开发时间和开发人员的技能要求都更高,也就是说,总成本无法令人满意。

  而且,大的Java厂商还什么都想占着。一方面想融入Web,一方面又不肯放弃自己已经在Java上建立起来的数十亿计的生意。甚至动态语言的广泛流行都未能显著改变他们的行为模式。但是随着微软雄心勃勃的多语言运行环境。NET的出现,大势又变了。

  成功的动态语言包括PHP, Perl, Python和Ruby都是用C写的,充分利用了C语言库生态系统的广泛性和深入性。而且它们都是社区驱动的,没有什么正二八经的语言规范,发展不会被公 司政治所阻碍。这些语言都是由使用者自己开发的,他们只有一个目的:快速搞定工作。因此语言可能在小的版本更新时就加入重要的改进。这种敏捷本质正是适应 Web应用快速变化必需的。

  而且,LAMP的部署方式有显著的优势。在多进程架构中,Web服务器和动态语言软件中的故障一般不会使网站垮掉。虽然会有某个进程崩溃,但其他 服务Web请求的进程仍然可以继续运行。这与JVM这种多线程的环境中软件故障包括崩溃和死锁通常都会使系统垮掉,形成了鲜明对比。 而且在特定时间后回收进程的能力能够防止内存泄漏和内存碎片化这两种常见的内存问题使软件随着时间推移性能降低。LAMP上软件更新时,可以轻松和渐增地 推到服务器,无需冗长的构建和打包。虽然有时这会带来不规范、不严格的问题,但是只要正确实施,开发人员和运营人员的日子都会好过得多。

  相比之下,Java厂商受困于与Java绑定太紧对多种语言的支持很少的JVM。他们并没有转向能够使其客户两全其美的LAMP和Java技术松 耦合的模型,而是患得患失,怕失去对客户的控制,竞相在JVM上提供动态语言。无论是微软这个强敌,还是Java中互相竞争的厂商,都在实施自己的动态语 言策略。

  现在,Sun正在其Java EE解决方案上支持JRuby和Jython而投入;IBM Websphere集团则认识到Java EE平台运行现代Web应用的无效,在Project Zero上大力投入,该项目的目的是使IBM在Web 2。0世界中也能有一席之地,目前支持Groovy和PHP;BEA也有一些孵化项目,但是被Oracle并购后,这些项目是否能有结果目前不明。Project Zero的 首席架构师是IBM公司里最先公开承认Java现在可以认为只是一种系统语言而不适合构建RESTful Web应用的几个人之一。而构建RESTful Web应用正是Project Zero的目的。Java堡垒花了10年多时间才承认Java在Web上投资回报不佳,而目前的趋势,将有更多的客户做出更明智的选择。动态语言将有大的 提升。与大型机一样,Java已经在企业级IT和关键业务应用中根深叶茂,因此不会很快消失。但是在Web应用上,Java语言很可能会在市场份额上急剧 下降。

  问题在于,非微软的Web市场是会采用动态语言的JVM实现,还是容纳这些语言事实标准实现的LAMP架构。虽然我认为会有客户被前者吸引,但是市场主流还是会选择LAMP。原因在于:

  1。 标准实现更新速度很快,而JVM版本总是滞后,会带来兼容性问题。这与Mono跟不上。NET的问题类似。

  2。 JVM最初设计时并没有考虑支持动态语言,因此在可见的将来,要满足实际需求,挑战非常大。像闭包、间接方法调用和类型juggling等动态特性就不容易解决,这从目前JRuby与Ruby的C版本的比较中可以看出。而且,硬件厂商是否有兴趣跟上也是有待观察的。而开源技术就没有这种问题。

  3。 现代Web的可伸缩需求对Web层的处理强度的要求越来越大。基于C的架构更可能与操作系统底层(原文为primitives)最有效地互操作,提供高 效、内存占用小的架构,满足这种强度。高性能的Web服务器比如lighttpd, Zeus, IIS 7,高性能的缓存系统比如Facebook等最大的网站使用的memcached,还有其他性能关键的子系统比如内存管理,都是例子。

  4。 多核系统非常适合LAMP架构的多进程方式。随着芯片业现在把主要精力都放在了多核而不是超线程技术上,JVM这样的多线程环境的优点在今天的硬件上将无法充分发挥。而多进程方式将提供更多稳定性和可靠性。

  5。 由于LAMP的简单性,它对于开发人员而言进入门槛非常低,而又能够提供很好的伸缩性,包括Yahoo和Facebook这样的大规模产品系统。

  总而言之,越来越清楚的是,动态语言将逐渐成为Web开发的标准。微软和Java厂商都认识到这个趋势,现在正在各自的软件平台之大力投入,给出 解决方案。但是,因为主要动态语言社区都是在。NET CLR和Java JVM软件平台之外发展起来的,这些厂商如果只是想依靠将成功的动态语言复制到自己的平台上而反败为胜,他们将处于困难的境地。有些厂商已经意识到这一情 况,采用了一些混合策略,同时为客户提供动态语言的标准实现,虽然还没有完全与其解决方案组合配合起来。微软在PHP上的投入就是如此,Sun也开始为客 户提供原生的Ruby和PHP实现。我相信虽然JVM向动态语言抛出的橄榄枝可能会吸引一些Java客户,但是这无法跟上开源社区开发原生动态语言实现的 步伐。JVM的动态语言实现对于Java厂商与时俱进是不够的,它们需要全面地拥抱原生的事实标准的社区驱动的动态语言。

特别提醒:本网内容转载自其他媒体,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。


返回网站首页 本文来源:互联网

本文评论
友情提示:评论功能暂时关闭,请扫描上方二维码进群交流!
搭建中外青年友谊桥梁!Soul青年热情帮助外国友人
随着中国经济发展和社会开放程度越来越高,来国内工作和交流的外国友人也越来越多。在感叹中国发展...
日期:10-15
女神张俪淘宝直播为天猫精灵打call,明星的理想生活你也能轻松get
“天猫精灵,最近有什么歌好听? ”“养什么宠物,养天猫精灵就行了。” 10月14日...
日期:10-15
天猫精灵进军时尚圈了!QUEEN智能美妆镜惊艳上海时装周
“天猫精灵,我要化妆。”“天猫精灵,今天紫外线强度如何?”“天猫精灵...
日期:10-15
收到“果农”短信称水果滞销,腾讯手机管家提醒注意网购水果骗局
“您好,我是大山里的果农,非常感谢您之前参加我们的电商扶贫项目,今年山里的果子又熟了,销售困...
日期:10-14
中国演出行业协会:不存在网络主播“持证上岗”情况
10月14日下午消息,近期网络上出现了多条关于“网络主播持证上岗”的信息,针对此事,中国演...
日期:10-14
油管AI网红Siraj承认抄袭再上热搜:网课骗钱,人设崩塌
  Siraj在AI圈有多火呢?
  仅仅在Youtube上,他就有仅70万订阅者,包括DeepMind创始人Demis Ha...
日期:10-14
美研究中心10年前预测2020年生活方式:基本都实现了
北京时间10月14日上午消息,美国皮尤研究中心曾在2008年预测2020年的生活方式,主要包括:
日期:10-14
“如程”酒店数量突破200家 ,上线4个月帮会员省下1个亿
10月12日,会员制特色度假酒店预订平台“如程”再次上线新酒店,令平台合作酒店总数突破2...
日期:10-14
电费是5G建站的“拦路虎”
(原标题:5G建站“拦路虎”:电费是运营商年租金10多倍)
日期:10-14
积极响应“健康中国行” 网易春风发起“百万公益捐赠”活动
日前,国务院印发了有关“健康中国行动”的三分文件,明确指出了健康中国行动的战略方向...
日期:10-12
人民日报数字传播联合新媒体大号卡娃微卡掀起爱国热潮
“我和我的祖国,一刻也不能分割......”黄晓明、李易峰、李现的歌声,杨幂的大拇指速写...
日期:10-12
2019极光开发者大会|登封造“极”,等你来战!
听说极光要在开发者大会上“搞事情”,不仅能免费参加比赛还有机会赢取10万元现金大奖?
日期:10-12
2019香港秋季国际电子展,linxee领视与您合作共赢,共建美好数字生活
2019年10月11日-14日香港秋季环球电子展(Global Sources Consumer Electronics)于香港亚洲国际博览...
日期:10-12
5G预约用户超千万 vivo已成领跑5G终端销售主力军
尽管运营商的5G套餐尚未正式发布,但随着三大运营商在9月底全面开启5G套餐预约,截止到10月11日,全...
日期:10-12
充电宝可以带上飞机吗?抗摔耐压的SuperMini上机更安全
  自2018年1月份开始,民航就逐渐放宽了对乘客电子设备的限制。一开始只能单纯携带,现在只要开启飞行...
日期:10-12
全球首部AI交响变奏曲在深奏响 中国平安献礼祖国70周年
10月11日,由中国平安人工智能研究院创作的全球首部AI交响变奏曲《我和我的祖国》,在深圳音乐厅由深...
日期:10-12
闪耀深圳物博会:构筑城市货运生态圈 快狗打车展示行业“教父”风采
2019年10月10日——10月12日,被誉为“全球物流领域标杆性品牌盛会”的2019中国...
日期:10-12
第十三届物流透明管理峰会召开,“数字化+”加速物流变革
工业互联网的风潮渐趋猛烈,数字化转型成为各行各业公认的变革方向。在即将到来的数字化时代,颇具...
日期:10-12
首次亮相物博会,华为云助力智慧新物流落地
2019年10月10日-12日,华为云亮相2019中国(深圳)国际物流与供应链博览会(以下简称“物博会&rdq...
日期:10-11
主动安全·智慧驱动——2019合肥网络安全大会成功召开
      今日,以“主动安全·智慧驱动”...
日期:10-11
  专栏介绍
即时新闻 的专栏
即时新闻发表的文章
积分:
自我介绍 :