本文將對目前最常用的四種動態網頁語言Perl(Practical Extraction and Report Language)、PHP(Hypertext Preprocessor)、ASP(Active Server Pages)、JSP(JavaServer Pages)進行一些技術性的比較。
 
Perl
 
Perl(Practical Extraction and Report Language)是一種很古老的腳本語言。最初的Web應用大多是用Perl編寫的,Perl很像C語言,使用非常靈活,對于文件操作和處理具有和C語言一樣的方便快捷。
也正是因為Perl的靈活性和“過度”的冗餘語法,也因此導致許多Perl程序的代碼令人難以閱讀和維護,因此使用的人在逐漸減少,並且目前有被Python替代的可能。
另外Perl對于CPU的消耗似乎較高,效率似乎有一些不足。

  • Perl開發的成功案例:

    • Movable Type — 世界上使用最多的Blog系統之一,功能強大的足以和一個CMS系統相比擬。

    • Awstats — 非常經典的日誌系統,速度極快,功能也非常強大。



  • 結論:Perl在部分應用中能發揮很大優勢,但其維護性差使得其普及變得很困難。


PHP
 
PHP(Hypertext Preprocessor)是一種嵌入HTML頁面中的腳本語言。它大量地借用C和Perl語言的語法, 並結合PHP自己的特性,使Web開發者能夠快速地寫出動態產生頁面。
PHP是完全免費的開源產品,不用花錢,Apache和MYSQL也是用樣免費開源,在國外非常流行,PHP和MYSQL搭配使用,可以非常快速的搭建一 套不錯的動態網站系統,因此國外大多數主機系統都配有免費的APACHE+PHP+MYSQL。通常認為這種搭配的執行效率比IIS+ASP+ ACCESS要高,而後者的使用還必須另外交錢給微軟。
PHP的語法和Perl很相似,但是PHP所包含的函數卻遠遠多于Perl,PHP沒有命名空間,編程時候必須努力避免模塊的名稱衝突。一個開源的語言雖然需要簡單的語法和豐富的函數,但PHP內部結構的天生缺陷導致了PHP不適合于編寫比小型業餘網站更大的網站。

  • PHP開發的成功案例:

    • MediaWiki — 著名的維基百科(Wiki)程序,如此龐大的條目居然衹用PHP+MYSQL就能夠支持,真是不可思議。

    • WordPress — 著名的Blog系統,功能上絲毫不輸于Movable Type,不少用戶都紛紛從Movable Type轉移到了WordPress。



  • 結論:PHP為結構上的缺陷,使的其衹適合編寫小型的網站系統。

 
ASP
 
ASP(Active Server Pages)微軟的Windows IIS系統自帶的腳本語言,利用它可以執行動態的Web服務應用程序。ASP的語法非常類似Visual BASIC,學過VB的人可以很快上手,ASP也是這幾種腳本語言中最簡單易學的開發語言。但ASP也是這幾種語言中唯一的一個不能很好支持跨平臺的語 言。
因為ASP腳本語言非常簡單,因此其代碼也簡單易懂,結合HTML代碼,可快速地完成網站的應用程序。
ASP在國內异常流行,因為國內大多使用的是盜版的Windows和盜版的SQLServer,而ASP+COM+SQLServer實際上也是一種不錯 的搭配,其性能也不輸于PHP+MYSQL,特別是Windows系統和SQLServer都有圖形界面,比APACHE和MYSQL易于維護,因此對于 不重視知識產權的國家來說也是一種不錯的選擇。
不過,正因為ASP很簡單,所以單純使用ASP所能完成的功能也是有限的,好在COM(Component Object Model)技術拯救了ASP,微軟提供了COM/DCOM技術,極大拓寬了ASP的應用範圍,使得ASP幾乎具有無限可擴充性。

  • 結論:ASP簡單而易于維護,是小型網站應用的最佳選擇,通過DCOM和MTS技術,ASP甚至還可以完成中等規模的企業應用。


JSP
 
JSP(JavaServer Pages)是Sun公司推出的一種動態網頁技術。JSP技術是以Java語言作為腳本語言的,熟悉JAVA語言的人可以很快上手。
JSP本身雖然也是腳本語言,但是卻和PHP、ASP有著本質的區別。PHP和ASP都是由語言引擎解釋執行程序代碼,而JSP代碼卻被編譯成 Servlet並由Java虛擬機執行,這種編譯操作僅在對JSP頁面的第一次請求時發生。因此普遍認為JSP的執行效率比PHP和ASP都高。
JSP在技術結構上有著其他腳本語言所沒有的優勢:JSP可以通過JavaBean等技術實現內容的產生和顯示相分離,並且JSP可以使用 JavaBeans或者EJB(Enterprise JavaBeans)來執行應用程序所要求的更為復雜的處理,進而完成企業級的分布式的大型應用。
因此,不少國外的大型企業系統和商務系統都使用JSP技術,作為采用Java技術家族的一部分,JSP技術也能夠支持高度復雜的基于Web的應用。

  • 結論:對于腳本語言來講,JSP還是擁有相當大的優勢的,雖然其配置和部署相對其他腳本語言來說要復雜一些,但對于跨平臺的中大型網站系統來講,基于JAVA技術的JSP(結合JavaBean和EJB)幾乎成為唯一的選擇。
arrow
arrow
    全站熱搜

    alex0126 發表在 痞客邦 留言(0) 人氣()