不管你是不是已經(jīng)選擇了PHP,根據(jù)它在如下表格中在價(jià)格、速度、效率、安全性、平臺(tái)支持性和開(kāi)源與否上的表現(xiàn),我們都能判斷出它的強(qiáng)項(xiàng)是遠(yuǎn)勝于弱點(diǎn)的。唯一不足的是缺少面向?qū)ο蟮闹С。然而,這是個(gè)相對(duì)次要的缺陷,雖然不可忽視語(yǔ)言的結(jié)構(gòu),可是最終來(lái)說(shuō),優(yōu)秀的編碼還是歸結(jié)于反復(fù)實(shí)踐、執(zhí)行、好習(xí)慣和紀(jì)律。
|
PHP 4 |
PHP 5 |
ASP.NET |
軟件價(jià)格 |
免費(fèi) |
免費(fèi) |
免費(fèi) |
平臺(tái)價(jià)格 |
免費(fèi) |
免費(fèi) |
$$ |
速度 |
強(qiáng) |
強(qiáng) |
弱 |
效率 |
強(qiáng) |
強(qiáng) |
弱 |
安全性 |
強(qiáng) |
強(qiáng) |
強(qiáng) |
平臺(tái)安全性 |
強(qiáng) |
強(qiáng) |
弱(IIS only) |
平臺(tái)支持性 |
任意 |
任意 |
win32 (IIS only)) |
是否開(kāi)源 |
是 |
是 |
否 |
異常機(jī)制 |
否 |
是 |
是 |
OOP |
弱 |
強(qiáng) |
強(qiáng) |
價(jià)格:我不會(huì)單純考量首次投資的價(jià)格,拿PHP來(lái)說(shuō),顯然是免費(fèi)的,但我們也要考慮開(kāi)發(fā)、維護(hù)和調(diào)試的成本,你可能還要購(gòu)買Zend優(yōu)化引擎。對(duì)于ASP,你在一開(kāi)始就要投資購(gòu)買產(chǎn)品,而且你還會(huì)在額外的技術(shù)上開(kāi)銷,比如購(gòu)買圖形處理的類庫(kù),或是其它。但從長(zhǎng)遠(yuǎn)來(lái)看,PHP不會(huì)要求你去繳納升級(jí)費(fèi)用或是購(gòu)買更多的license。任何曾經(jīng)接觸過(guò)license的人都會(huì)知道公司往往會(huì)在確保產(chǎn)品的兼容性上花費(fèi)大量時(shí)間和金錢。此外,發(fā)現(xiàn)bug并得到修復(fù)的反饋處理情況也不盡相同,這其實(shí)也可換算為時(shí)間的消耗,進(jìn)而影響到整個(gè)開(kāi)發(fā)的成本。\
速度和效率:就像我前面所提到的,ASP.NET是一個(gè)允許你使用多種不同編程語(yǔ)言的框架。此外,它還號(hào)稱擁有出色的面向?qū)ο缶幊棠P汀4_實(shí)如此,可是這卻帶來(lái)了速度上的降低。談到它的這些優(yōu)點(diǎn),對(duì)于相同功能的頁(yè)面來(lái)說(shuō),比起PHP, 運(yùn)行于ASP的頁(yè)面需要其服務(wù)器分析、執(zhí)行更多的代碼。而PHP是“快餐型”的解決方案,先將功能搞定,還有很多健壯性上的問(wèn)題可以留到2.0或是3.0里進(jìn)行補(bǔ)充,而且它的核心代碼得到編譯的優(yōu)化,程序可以高速運(yùn)行。速度并非唯一的考量,內(nèi)存的耗用也很重要。
安全性:ASP.NET運(yùn)行于IIS之上,這是個(gè)曾無(wú)數(shù)次遭受攻擊的系統(tǒng),幾乎每周IT的新聞上都會(huì)有類似消息。實(shí)際上,它已成為一項(xiàng)負(fù)債,不管整個(gè)市場(chǎng)投了多少美元在上面,很多IT的專業(yè)人士已經(jīng)拒絕將他們的網(wǎng)絡(luò)暴露于IIS Web服務(wù)器之下。而PHP與Apache工作在一起,它擁有良好的速度、可靠性的表現(xiàn),還有過(guò)硬的安全性。
平臺(tái)支持性:ASP.NET起初運(yùn)行于IIS,現(xiàn)在也可以運(yùn)行于Apache,而Apache能運(yùn)行于所有平臺(tái)。PHP天生就是設(shè)計(jì)運(yùn)行于Apache上,所以你有很多被證明是可靠的平臺(tái)去選擇。
開(kāi)源與否:開(kāi)源并非只是那些理想主義程序員們的專利,也不是那些想要在license上節(jié)省幾十美元的公司所特有的。當(dāng)你碰到所購(gòu)買的軟件本身的bug的時(shí)候,開(kāi)源可就是天賜良品。
無(wú)論是用ASP.NET還是PHP,都可能有很多用戶用你的軟件并發(fā)現(xiàn)bug。對(duì)于ASP.NET,這些bug就要經(jīng)過(guò)一個(gè)官僚的過(guò)程來(lái)告知,修復(fù),驗(yàn)證,然后再等到下一個(gè)補(bǔ)丁時(shí)發(fā)布。而PHP的修復(fù)和發(fā)布都很快。任何看過(guò)開(kāi)源開(kāi)發(fā)的人都知道新的產(chǎn)品發(fā)布或是補(bǔ)丁經(jīng)常是幾天內(nèi)的事情而不是商業(yè)軟件那樣的幾周或幾個(gè)月。如果你認(rèn)為那還不夠快的話,如果你愿意,你也可以自己直接修復(fù)。
本文鏈接:http://m.95time.cn/tech/program/2009/7236.asp
出處:
責(zé)任編輯:bluehearts
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|