PHP比ASP優秀的七個理由(轉)

ba發表於2007-08-12
PHP比ASP優秀的七個理由(轉)[@more@]asp是微軟公司實現動態網頁的一種技術。asp支援一些指令碼語言,主要以vbscripp為主。與asp相比較,你還可以選擇另一中開放原始碼程式語言——php,php可以執行在多種作業系統下,其中包括linux和windows。

雖然asp是一種不錯的技術,但從長遠考慮我相信php在將來的技術領域裡會有不凡的表現。

我認為有七個理由可以說明php比asp更優秀:

1、速度、速度、速度

當我第一次執行php指令碼程式時,我不禁對自己說:“太快了”,當時我是在儀態166mhz的機器上執行我的程式的,但執行的速度仍然很快。
asp是永遠也不會象php這樣快的,因為asp是建立在com體系結構之上的。當用vbscript寫asp指令碼時,實際上實在使用com的物件,當向使用者瀏覽器傳送資訊時,它用的是response物件的write方法,當它訪問資料庫和檔案系統的時候,它用的是其他的com物件。這些com物件的使用使執行速度下降。
   在php程式碼中,所有的工作都執行在php的記憶體空間中,也就是說php不是基於com物件的,所以的他的執行速度會快一些。
   下面是我們在mssql7 40次執行一個查詢語句的執行時間統計:
   php querying mssql7 時間(秒)
   用 mssql extension 01.88
用 odbc extension 09.54
用 odbc via com (ado) 17.28
用oledb via com 06.19
當我們使用php.odbc,訪問資料庫用了9.54秒,而用com介面去連線資料庫需要比php所用的時間高80%。
   oledb是微軟的一種高速訪問資料庫的技術,他比odbc要快。但當我們所php和oledb的效率實驗時,結果是php的整體效能比oledb高200%,如此的出一個結論,如果不採用com可以獲得較快的執行速度。
   當然php的執行速度還不是最快的,但我們才剛剛開始起步,我們會逐步的完善他,而且php是一種開放原始碼程式語言,世界上許多程式設計師在不斷的完善他的技術,相信他一定會比非開放原始碼系統獲得更高的執行速度的。

2、高階記憶體管理

   在iis4下,一個asp指令碼header.asp,如果被20個頁面所包含,那麼執行的時候,在記憶體當中會保留這20個header.asp的編譯副本,iis5解決了這個問題,但只有windows2000才支援iis5,由於這種iis5的不能向下相容的原因,許多伺服器仍然要使用iis4下的低階的記憶體管理。
   而在php中,不會存在這種問題,只有當require時,才會呼叫某個include檔案。

3、沒有後顧之憂

   我非常憎恨的一件事情就是會買到一件不放心的產品,比如當你買了一輛汽車,但由於發動機是壞的,你需要更換他;當你買了一棟房子的時候,你要去修補漏雨的屋頂。
   那麼asp舊鄉這些產品一樣,當你買了asp之後,如果你需要加密技術,你就要買aspencrypt;當你需要email管理時,你就要買serverobjets qmail;當你需要檔案上傳時,你還要買artisans sa-fileup.

4、mysql使php更精彩

   php與mysql的組合既簡單又精彩。php有許多管理和維護mysql的工具,對mysqk的支援是最全面的。許多有用的函式如mysql_insert_id和mysql_affected_rows等,其他的資料庫則沒有。
   asp和php都是中型網站的較理想的解決方案,但php與mysql的緊密結合使php更加優越。
   mysql的虛度比microsoft access速度快,mssql和oracle速度比mysql要快,可是費用較高。
  
5、java和c++的變成風格

   這個優點只是一個看法。 
   我知道你不會相信一個visual basic程式設計師會因為php有java和c++的程式設計風格而轉向使用php,但你會相信有許多人還是喜歡java和c++的,php是一種具有這兩種語言的程式設計風格的較容易學習的語言。
   php支援結構化程式設計,在vb因為他的繼承性使用類還是較少的。而php的象java和c++一樣的繼承性使一個大型的程式中到處都充滿了類的影子。
 
6、bug的處理

   你是否曾經要求microsoft修改asp的一些bug呢?如果你不是一個象boeing一樣的組織,你無法獲得迅速而恰當的修改,把麼當你遇到bug而停止工作時,如果這個bug不修改,你將無法繼續你的工作的。
   php,當你發現bug時,你可以修改他,如果你沒有專家的水平,你可以請專家修改,並且你的修改會得到開放程式碼組織的接受和認可。
 
7、移植性

   microsoft經常修改asp,下一版本叫asp+,現在已經開始測試。我相信他們會修改許多我曾經提到過的問題。但也無庸質疑的,microsoft會將你限制在他們的產品範圍之內的。
   我曾經是一個蘋果機的程式設計師,當windows95問世後,我開始轉變,但許多原來的程式碼都無法在windows95下執行,這些程式碼現在被放在一邊,我非常的遺憾。所以我不希望在windows下再出現這樣的悲劇。
   不要忘記novell曾經也象microsoft的網路作業系統一樣熱及一時,但現在已經沒有許多人用了,那麼microsoft也會這樣的。
   我找到了php,我仍舊在windows下工作,但我知道php程式碼可以執行在solaris、linux和許多其他的作業系統中,我的心裡感到安慰。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-949903/,如需轉載,請註明出處,否則將追究法律責任。

相關文章