PHP與ASP比較:這還值得討論嗎?

來源:互聯網
上載者:User

  什麼是PHP

  PHP代表了"超文本處理器",這意味著你必須知道,它是一種伺服器端的處理語言,且以HTML的形式出現。它最常用的地方就是網頁了,資料從客戶機發送到Web伺服器,資訊在此被處理並返回結果。

  但這種通用性的語言絲毫不局限於在網頁方面,PHP也能被用在命令列shell中,它可作為作業系統的一個擴充,由此執行相應的PHP檔案。

  在資料庫方面的應用也是PHP的一個強項,MySQL、SQL、Microsoft Access、Oracle及InterBase只不過是採用了PHP語言的一部分資料庫。

  什麼是ASP

  ASP是Acitve Server Pages的縮寫,它也是一種伺服器端的指令碼語言,微軟公司為達到動態網頁的效果,把它整合進了服務提供者進程,就是眾所周知的COM(Component Object Models)。

  儘管ASP也不只限於在IIS(Internet Information Services)伺服器上運行,但只有在IIS上,才能發揮它的全部功能,最初支援它的作業系統為Windows 2000及NT4 Option Pack。同樣,ASP在除IIS之外的平台上也能運行,PWS(Personal Web Server)就能在Windows NT、95、98上解釋ASP代碼,但是,功能會有所限制。

  成本問題

  可能很多人都想要爭論ASP與PHP的成本問題,但這真的不是一個主要的重點所在。大多數購買IIS的使用者是為了與微軟產品的更好整合,話說回來,IIS絕對對得起這多花出去的錢。

  PHP與運行它的Apache Web Server都是免費的,它們是由Apache軟體基金會提供的--安全、免費,正因為此,PHP可以免費安裝,唯一的成本是購買運行它的伺服器,及安裝的時間成本。

  速度問題

  這個問題也是伺服器端指令碼語言中,雙方爭論最激烈之處,自從這兩種語言來到這個世界,這個問題的爭論就沒有停止過。

  一般來說,應用程式在使用完記憶體之後,應把它"還給"作業系統,只要記憶體一直在被程式使用,作業系統通常也不會要求收回。PHP使用記憶體的獨特方法,使之成為了它的一個優點。PHP在得到一塊記憶體之後,會暫時保留住它,當記憶體用完後,並沒有把它還給作業系統,而保留用於接下來可能發生操作。這個可以在設定檔中進行修改。

  因為基於COM的架構,所以ASP稍微慢一點,原因是它調用了物件模型,而系統又必須載入這些模型,這有點兒像那些使用了控制項的程式設計語言。在記憶體消耗方面,也與標準應用程式相差無幾。

  實際上,速度區別最大的地方是IIS或Apache Web Server運行於的電腦,如果電腦不同,那麼,在配置更好的電腦上的語言將運行得更快一些。

  相容性思考

  說到相容性問題,那就太多了,因為世界上沒有兩台電腦的硬體與軟體是完全相同的,正因為此,人們都想知道,在他們已擁有的裝置上,程式會怎樣運作。

  從這個範疇來說,PHP可能已先勝出一步了,它贏在開放原始碼方面(Open Source),這意味著它背後可能有著不計其數的開發人員、更好的資源、更大的文件庫等等。由於這些因素,PHP開發的越多,程式員學到的也越多。

  ASP一般認為只能運行在IIS上,正如前面所提到的,這並不是十分正確,事實上,ASP也能運行在Apache上。Apache ASP可在任意Apache伺服器上運行有限的ASP功能,所需做的,只需開啟mod_perl。

  要記住的是,PHP可運行在任意平台上,Mac OS X、Windows、Linux及Solaris都是可運行它的作業系統。

  安全性考慮

  不管安全性有 多高,任何事物都存在被攻破的可能,唯一缺乏的只是時間與資源的問題。

  Apache的安全選項使它比Windows Server作業系統更具安全性,IIS已有很多已知的安全性漏洞,且一直在進行修補;相比而言,Apache的安全性可是有目共睹的。

  編程易學性

  ASP來源於微軟產品中最常見的語言--Visual Basic,所以,它非常簡單易學;而PHP更多地以C++語言為基礎,這可能也是它速度快的一部分原因吧。

  ASP的一般性誤解

  ASP與ASP.NET完全不是一種東西,ASP.NET是對ASP程式設計語言的一次徹底重寫,正因為此,它的大部分功能是不能向後相容的,它適合於微軟更新的 .NET架構。

  結論

  從個人的角度來看,PHP更快、更安全、更便於使用、相容性更高,甚至更便宜,但也並不是說ASP一無是處。有關兩者進一步更多的討論也沒什麼必要,使用最與你系統相容、最符合你期望的語言就是了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.