再談Web開發(fā):PHP,Java和.NET的過去,現(xiàn)在和未來
譯文【51CTO精選譯文】PHP,Java和.NET已經(jīng)成為了未來五年內(nèi)程序員必須具備的技能,而這三種語言(或者可以稱之為平臺)都在Web開發(fā)領(lǐng)域占有一席之地。當然,Web開發(fā)領(lǐng)域還有其他很多選擇,比如Ruby,Python以及RIA技術(shù)等等。不過,單獨將這三種主流的開發(fā)平臺進行比較(在***的9月編程語言排行榜上,Java、PHP、Visual Basic和C#分別處于第1、3、5、7名的位置。當然,排行榜所統(tǒng)計的領(lǐng)域不限于Web開發(fā)),也是有一定價值的。下面的這篇博文對于PHP,Java和.NET在Web開發(fā)領(lǐng)域的競爭性進行了一番探討,文章有其主觀片面之處,不過其中關(guān)于三種平臺特點的比較還是很有趣的。以下是博文的原文:
昨天我和我的一位朋友對Web編程語言進行了一翻討論,在此期間,我們討論了各種編程語言(PHP,Java,VB和C#)以及它們在Web開發(fā)方面的競爭性。由于這個主題非常有趣,而且值得商榷,有必要對此做一下總結(jié)。
PHP:過去,現(xiàn)在和未來
首先我還是從我熟悉的PHP開始,它是我最喜歡的Web腳本語言,早在1998年,當我***次接觸PHP時,我就知道已經(jīng)有許多高手開始使用PHP做有趣的事情,如搜索引擎優(yōu)化。PHP的名字表示PHP超文本處理器,在當年來說雖然是一門樸素的語言,但功能還是蠻強大的。我一直認為PHP總有一天會發(fā)展成為一個應(yīng)用程序開發(fā)語言(如今天的Java和C#)。幸運的是,現(xiàn)在我們可以看到ZendServer,PHP 5,Zend Framework和PHP-GTK。一個好的企業(yè)解決方案僅僅利用前面列出的工具在性能、穩(wěn)定性和生產(chǎn)速度方面就可以輕松擊敗其它應(yīng)用程序,雖然這些工具在商業(yè)層面還未被人們充分知曉,但據(jù)我所知,在許多學(xué)術(shù)會議上都會介紹它們,我相信在不久的將來,在商業(yè)環(huán)境中也會看到它們的身影。
關(guān)于社區(qū)參與,PHP在過去兩年已經(jīng)取得了巨大的進步。早在2003-2004年,許多程序員都轉(zhuǎn)向了JSP,放棄了成熟、穩(wěn)定的PHP框架,我差點也成為其中一員,當時我一致堅持使用PHP,工作了將近4個月,***誕生了我的***套用于快速網(wǎng)站應(yīng)用開發(fā)的PHP組件。***,我將我的模塊移到CakePHP和Zend Framework中,聯(lián)合它們的力量可以應(yīng)付高流量的網(wǎng)站,***峰值達到了上萬個請求/小時,但CPU利用率一直保持在10%,內(nèi)存1GB左右。
一個非常簡單但很有說服力的例子是我開發(fā)的兩個網(wǎng)站:www.yellowpages.com.lb和www.al-sharq.com,出于商業(yè)機密的原因,我不能在這里透露具體的數(shù)目。你可以訪問這些網(wǎng)站,獲得結(jié)合了Linux、MySQL、APC和Zend Framework的有關(guān)PHP的性能。
Java:企業(yè)級編程語言
Java功能強大,資源占用高,但服務(wù)器端資源利用率高,一個用JSP開發(fā)的網(wǎng)站一般至少需要2GB內(nèi)存來緩存JSP文件,但它的性能比其它編程語言要好,一般來說一臺服務(wù)器上不能容下50個網(wǎng)站,除非有8GB內(nèi)存專門用于JSP容器。
Visual Basic:再見!
Visual Basic現(xiàn)在用的人越來越少,信不信由你,有可能到2015年就不存在了,微軟在未來幾年重點主要放在C#上,雖然它仍然用在操作系統(tǒng)層,但我看不出有任何理由程序員會繼續(xù)使用它,除非像我那位朋友那樣堅持認為Visual Basic是最簡單的,因為他們懶得再學(xué)習(xí)另一門語言了。(對于Visual Basic的前景,雖然本文作者表示悲觀,但很多開發(fā)者都持相反的意見。幾個月前更新的Visual Studio 2010與.NET 4.0的beta版中,VB.NET和C#都得到了更新,具體可以參考51CTO之前發(fā)布的VS2010中兩種語言特性的介紹和比對一文。)
C#:微軟的賭注!
微軟的C#汲取了Visual Basic,Java和PHP等多種語言的優(yōu)點,具有Java語言的強大,Visual Basic的簡單,PHP的低起點。雖然我算不上是C#專家,但我最近為一位客戶測試了一套用C#開發(fā)的Web應(yīng)用程序,結(jié)果讓我大吃一驚,在安全方面C#引入了很多安全特性(特別是異常),在性能方面表現(xiàn)也令人滿意,服務(wù)器每秒處理1024個請求將近兩分鐘才崩潰。通過測試,我對C#在運行時對異常的處理有更深的認識,并且程序員可以通過IIS的幫助對應(yīng)用程序進行調(diào)整。微軟未來幾年肯定會將重心放在推廣C#上,并希望能達到Visual Basic曾經(jīng)創(chuàng)造的***。
總結(jié)
如果你剛剛接觸編程,并想往網(wǎng)站開發(fā)方向發(fā)展,那么PHP非常適合你。
如果你喜歡微軟,那么學(xué)習(xí)C#。
如果你想進入企業(yè)級編程,那么學(xué)習(xí)Java吧。
(51CTO編者注:當然,上面的建議只是作者一家之言,限于此文的討論范圍,只比較了PHP,Java和.NET。其實網(wǎng)站開發(fā)還可以考慮Ruby或Python,喜歡微軟也可以嘗試F#,而企業(yè)級編程這塊,就算只探討Java平臺,還有Scala這樣優(yōu)秀的替代者可以考慮。建議讀者們不妨多試試各種語言,了解一下各種語言的特點,再按照自己的需求來進行選擇。)
原文:THE FUTURE OF WEB PROGRAMMING
作者:victor
【編輯推薦】