【51CTO精选译文】PHP,Java和.NET已经成为了未来五年内程序员必须具备的技能,而这三种语言(或者可以称之为平台)都在Web开发领域占有一席之地。当然,Web开发领域还有其他很多选择,比如Ruby,Python以及RIA技术等等。不过,单独将这三种主流的开发平台进行比较(在***的9月编程语言排行榜上,Java、PHP、Visual Basic和C#分别处于第1、3、5、7名的位置。当然,排行榜所统计的领域不限于Web开发),也是有一定价值的。下面的这篇博文对于PHP,Java和.NET在Web开发领域的竞争性进行了一番探讨,文章有其主观片面之处,不过其中关于三种平台特点的比较还是很有趣的。以下是博文的原文:
昨天我和我的一位朋友对Web编程语言进行了一翻讨论,在此期间,我们讨论了各种编程语言(PHP,Java,VB和C#)以及它们在Web开发方面的竞争性。由于这个主题非常有趣,而且值得商榷,有必要对此做一下总结。
PHP:过去,现在和未来
首先我还是从我熟悉的PHP开始,它是我最喜欢的Web脚本语言,早在1998年,当我***次接触PHP时,我就知道已经有许多高手开始使用PHP做有趣的事情,如搜索引擎优化。PHP的名字表示PHP超文本处理器,在当年来说虽然是一门朴素的语言,但功能还是蛮强大的。我一直认为PHP总有一天会发展成为一个应用程序开发语言(如今天的Java和C#)。幸运的是,现在我们可以看到ZendServer,PHP 5,Zend Framework和PHP-GTK。一个好的企业解决方案仅仅利用前面列出的工具在性能、稳定性和生产速度方面就可以轻松击败其它应用程序,虽然这些工具在商业层面还未被人们充分知晓,但据我所知,在许多学术会议上都会介绍它们,我相信在不久的将来,在商业环境中也会看到它们的身影。
关于社区参与,PHP在过去两年已经取得了巨大的进步。早在2003-2004年,许多程序员都转向了JSP,放弃了成熟、稳定的PHP框架,我差点也成为其中一员,当时我一致坚持使用PHP,工作了将近4个月,***诞生了我的***套用于快速网站应用开发的PHP组件。***,我将我的模块移到CakePHP和Zend Framework中,联合它们的力量可以应付高流量的网站,***峰值达到了上万个请求/小时,但CPU利用率一直保持在10%,内存1GB左右。
一个非常简单但很有说服力的例子是我开发的两个网站:www.yellowpages.com.lb和www.al-sharq.com,出于商业机密的原因,我不能在这里透露具体的数目。你可以访问这些网站,获得结合了Linux、MySQL、APC和Zend Framework的有关PHP的性能。
Java:企业级编程语言
Java功能强大,资源占用高,但服务器端资源利用率高,一个用JSP开发的网站一般至少需要2GB内存来缓存JSP文件,但它的性能比其它编程语言要好,一般来说一台服务器上不能容下50个网站,除非有8GB内存专门用于JSP容器。
Visual Basic:再见!
Visual Basic现在用的人越来越少,信不信由你,有可能到2015年就不存在了,微软在未来几年重点主要放在C#上,虽然它仍然用在操作系统层,但我看不出有任何理由程序员会继续使用它,除非像我那位朋友那样坚持认为Visual Basic是最简单的,因为他们懒得再学习另一门语言了。(对于Visual Basic的前景,虽然本文作者表示悲观,但很多开发者都持相反的意见。几个月前更新的Visual Studio 2010与.NET 4.0的beta版中,VB.NET和C#都得到了更新,具体可以参考51CTO之前发布的VS2010中两种语言特性的介绍和比对一文。)
C#:微软的赌注!
微软的C#汲取了Visual Basic,Java和PHP等多种语言的优点,具有Java语言的强大,Visual Basic的简单,PHP的低起点。虽然我算不上是C#专家,但我最近为一位客户测试了一套用C#开发的Web应用程序,结果让我大吃一惊,在安全方面C#引入了很多安全特性(特别是异常),在性能方面表现也令人满意,服务器每秒处理1024个请求将近两分钟才崩溃。通过测试,我对C#在运行时对异常的处理有更深的认识,并且程序员可以通过IIS的帮助对应用程序进行调整。微软未来几年肯定会将重心放在推广C#上,并希望能达到Visual Basic曾经创造的***。
总结
如果你刚刚接触编程,并想往网站开发方向发展,那么PHP非常适合你。
如果你喜欢微软,那么学习C#。
如果你想进入企业级编程,那么学习Java吧。
(51CTO编者注:当然,上面的建议只是作者一家之言,限于此文的讨论范围,只比较了PHP,Java和.NET。其实网站开发还可以考虑Ruby或Python,喜欢微软也可以尝试F#,而企业级编程这块,就算只探讨Java平台,还有Scala这样优秀的替代者可以考虑。建议读者们不妨多试试各种语言,了解一下各种语言的特点,再按照自己的需求来进行选择。)
原文:THE FUTURE OF WEB PROGRAMMING
作者:victor
【编辑推荐】