JVM救不了Java

http://www.sina.com.cn 2008年05月14日 16:18  中国计算机报

  面临应用程序网络化的发展趋势,我认为Java由于其设计架构上的弊端,在网站开发上将很难有大的作为。与此相反,以PHP为代表的动态语言则天生就适合网络的开发模式。

  ——Zend公司CTO Andi Gutmans

  习惯和支持Java的人们,往往认为PHP和其他动态语言只属于那些不懂编程的人——即使它是LAMP(Linux+Apache+MySQL+PHP)这一盛行的开源架构中的一员,也不能保证它有什么前途。

  然而,他们忽略了应用程序网络化的发展趋势,这不仅包括媒体和电子商务网站,还包括CRM、ERP、报表和文档管理等。我认为,Java由于其设计架构上的弊端,在这些领域会有些力不从心。与此相反,以PHP为代表的动态语言正是随着上世纪90年代网络的井喷式发展而诞生的,它们天生就适合网络的开发模式。一大批具有代表性的网站都是使用PHP进行开发的,如Wordpress、Drupal、mediaWiki、osCommerce、SugarCRM等。

  尽管很多Java厂商已经意识到网站开发的重要性,并开始努力,但它们始终都无法摆脱“强大”的语言特性带来的限制——网络开发的总体成本居高不下。现在,Java厂商主要依靠JVM(Java虚拟机,Java的底层执行环境)来实现网络开发,它与Java配合得很好,也能够一定程度上支持多语言。然而,这种模式并未采用LAMP的松耦合模型,而是还想保住Java原有的优势。这样,它们通常不愿意丢掉对客户工作的控制权,并经常干预JVM所支持的动态语言。

  尽管对手实力不容小觑,但我坚信市场的主流并不会改变,LAMP这一开源架构将依然盛行。这是因为:首先,主要的动态语言都有强大的开发者社区作为支持,它们坚持不懈地改进这些语言的功能,而JVM永远只能落后于这些事实上的标准;其次,由于JVM并不是专为动态语言而设计的,所以对于实际应用中不断出现的问题,Java厂商还有很多完善工作需要做;第三,现代网站开发通常需要很强的可扩展性,因此,对系统的高强度访问处理能力要求很高,这也与JVM的设计初衷相冲突;第四,对应芯片的多核发展趋势,使用多进程模式的动态语言,比使用多线程模式的JVM具有更好的稳定性和可靠性;最后,LAMP架构使得开发者容易入门,但同时,它也适用于雅虎和Facebook这样的大型网站。

  总而言之,我认为动态语言将继续是网络开发的标准。尽管JVM对动态语言的支持会吸引一些Java客户,但它永远无法阻止开源运动的潮流。

发表评论 _COUNT_条
Powered By Google
不支持Flash
·城市对话改革30年 ·新浪城市同心联动 ·诚招合作伙伴 ·企业邮箱畅通无阻
不支持Flash