再谈Web开发:PHP,Java和.NET的过去,现在和未来
昨天我和我的一位朋友对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:再见!
C#:微软的赌注!
微软的C#汲取了Visual Basic,Java和PHP等多种语言的优点,具有Java语言的强大,Visual Basic的简单,PHP的低起点。虽然我算不上是C#专家,但我最近为一位客户测试了一套用C#开发的Web应用程序,结果让我大吃一惊,在安全方面C#引入了很多安全特性(特别是异常),在性能方面表现也令人满意,服务器每秒处理1024个请求将近两分钟才崩溃。通过测试,我对C#在运行时对异常的处理有更深的认识,并且程序员可以通过IIS的帮助对应用程序进行调整。微软未来几年肯定会将重心放在推广C#上,并希望能达到Visual Basic曾经创造的巅峰。
总结
如果你刚刚接触编程,并想往网站开发方向发展,那么PHP非常适合你。
如果你喜欢微软,那么学习C#。
如果你想进入企业级编程,那么学习Java吧。