在執行一個網站或Web App的開發工作的時候,即使是最有經驗的程式師也會有這樣的困惑——如何選擇程式設計語言。 最常見的程式設計語言選擇就是在PHP和ASP.NET之間。 然而,PHP和ASP.NET都有龐大的群體,而且每個程式師對PHP和ASP.NET的意見均取決於他們的開發經驗和偏好。 所以,這樣的選擇可能會更多依賴于偏好。 在這裡沒有一個明確的答案,但是本文將説明你識別PHP和ASP.NET之間的區別,並根據你的喜好來做出選擇,以便在開發專案裡更順利的完成任務。 平臺和伺服器平臺和伺服器絕對是兩者之間的主要的差異所在,這一點是必須要意識到的。 PHP是一種跨平臺的伺服器端的嵌入式指令碼語言,完全可以自由的運行在Linux、UNIX、Mac OS或Windows上。 另一方面,ASP. NET是一個物件導向,編譯性的語言。 你不能讓PHP在一個Windows程式中運行,但是你可以拷貝ASP.NET的代碼並把它放到WINFORM程式裡面,而不用太大的修改。 而且,ASP. NET受限於Windows平臺。 因此,它在這裡實際上已經失去了開源的優勢——低成本和高度支援的技術社區。 速度和性能大多數程式師認為PHP和ASP.NET之間沒有任何真正意義上的性能和速度之別。 不過這是真的,只要你在較小的或更少的複雜專案上使用PHP和ASP.NET,就會發現它們之間的不同之處了。 然而,如果是較大的Web App需要運行更多的大型程式的時候,在某種程度上程式設計語言是會影響速度的。 其次,PHP和ASP.NET兩者的選擇還要考慮到任務的多樣性。 以下舉例說明: 從最簡單的任務開始,App需要訪問資料庫,處理一個查詢任務,並且通過伺服器將處理結果傳輸到瀏覽器上。 在這個過程裡程式設計語言幾乎沒有對速度產生什麼太大的影響/區別,但資料庫伺服器和查詢程式可能會有一定的影響。 在Linux或UNIX上運行一個App能給你帶來節省寶貴資源的優勢,這些資源都是被GUI和額外的套裝程式消耗的,尤其是運行在Windows上的情況下。 當談到通過訪問檔案系統來找到併發送圖片到伺服器的時候,PHP的表現效果可能會更好一些,但這都歸功於Linux和ext4檔案系統比Windows OS和NTFS優越。 開發、安裝和部署大多數用過這兩種語言的有經驗的程式師都會認同:在ASP.NET基礎上開發專案需要花費更多的時間。 原因在於它需要的程式碼很多,其次在於,每一個代碼在修飾過後還需要進行編譯。 在安裝和部署方面,由於ASP.NET在Windows OS裡有很多特性,所以ASP.NET也提供了更多的緩存。 然而,Linux已經跟上了ASP.NET的最新版本,在可用性方面做出了更合理的簡化。 可擴充性從上面的論述看來貌似是在提倡使用PHP,但是在可擴充性方面,ASP. NET才是真正的贏家。 ASP. NET使用C#,因此可以提供更強大的物件導向的支援。 最後,選擇PHP還是選擇ASP.NET,這主要取決於你的技能、經驗,當然還要考慮客戶需求。 理想情況是掌握這兩種語言,不管使用哪一個都遊刃有餘的話,那是最好不過了。