再談Web開發:PHP,Java和.NET的過去,現在和未來
譯文【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
【編輯推薦】
























