PHP(Hypertext Preprocessor)是一種嵌入HTML頁面中的腳本語言。它大量地借用C和Perl語言的語法, 並結合PHP本身的特性,使Web開發者可以快速地寫出動態產生頁面。php
PHP是徹底免費的開源產品,不用花錢,Apache和MYSQL也是用樣免費開源,在國外很是流行,PHP和MYSQL搭配使用,能夠很是快速的搭建一套不錯的動態網站系統,所以國外大多數主機系統都配有免費的APACHE+PHP+MYSQL。一般認爲這種搭配的執行效率比IIS+ASP+ACCESS要高,然後者的使用還必須另外交錢給微軟。html
PHP的語法和Perl很類似,可是PHP所包含的函數卻遠遠多於Perl,PHP沒有命名空間,編程時候必須努力避免模塊的名稱衝突。一個開源的語言雖然須要簡單的語法和豐富的函數,但PHP內部結構的天生缺陷致使了PHP不適合於編寫比中小型業餘網站更大的網站。編程
PHP開發的成功案例:服務器
MediaWiki — 著名的維基百科(Wiki)程序,如此龐大的條目竟然只用PHP+MYSQL就可以支持,真是難以想象。架構
WordPress — 著名的Blog系統,功能上絲絕不輸於Movable Type,很多用戶都紛紛從Movable Type轉移到了WordPress。jsp
結論:PHP語法簡單,很是易學易用,很利於快速開發各類功能不一樣的定製網站,PHP由於結構上的缺陷,使的PHP在複雜的大型項目上的開發和維護都比較困難。函數
ASP性能
ASP(Active Server Pages)微軟的Windows IIS系統自帶的腳本語言,利用它能夠執行動態的Web服務應用程序。ASP的語法很是相似Visual BASIC,學過VB的人能夠很快上手,ASP也是這幾種腳本語言中最簡單易學的開發語言。但ASP也是這幾種語言中惟一的一個不能很好支持跨平臺的語言。網站
由於ASP腳本語言很是簡單,所以其代碼也簡單易懂,結合HTML代碼,可快速地完成網站的應用程序。spa
ASP在國內異常流行,由於國內大多使用的是盜版的Windows和盜版的SQLServer,而ASP+COM+SQLServer實際上也是一種不錯的搭配,其性能也不輸於PHP+MYSQL,特別是Windows系統和SQLServer都有圖形界面,比APACHE和MYSQL易於維護,所以對於不重視知識產權的國家來講也是一種不錯的選擇。
不過,正由於ASP很簡單,因此單純使用ASP所能完成的功能也是有限的,好在COM(Component Object Model)技術拯救了ASP,微軟提供了COM/DCOM技術,極大拓寬了ASP的應用範圍,使得ASP幾乎具備無限可擴充性。
結論:和PHP同樣,ASP簡單而易於維護,很適合小型網站應用,經過DCOM和MTS技術,ASP甚至還能夠完成小規模的企業應用,但ASP的致命缺點就是不支持跨平臺的系統,在大型項目開發和維護上很是困難。
JSP
JSP(JavaServer Pages)是Sun公司推出的一種動態網頁技術。JSP技術是以Java語言做爲腳本語言的,熟悉JAVA語言的人能夠很快上手。
JSP自己雖然也是腳本語言,可是卻和PHP、ASP有着本質的區別。PHP和ASP都是由語言引擎解釋執行程序代碼,而JSP代碼卻被編譯成Servlet並由Java虛擬機執行,這種編譯操做僅在對JSP頁面的第一次請求時發生。所以廣泛認爲JSP的執行效率比PHP和ASP都高。
JSP是一種服務器端的腳本語言,最大的好處就是開發效率較高,JSP可使用JavaBeans或者EJB(Enterprise JavaBeans)來執行應用程序所要求的更爲複雜的處理,可是這種網站架構由於其業務規則代碼與頁面代碼混爲一團,不利於維護,所以並不適應大型應用的要求,取而代之的是基於MVC的Web架構。MVC的核心思想是將應用分爲模型、視圖和控制器三部分。模型是指應用程序的數據,以及對這些數據的操做;視圖是指用戶界面;控制器負責用戶界面和程序數據之間的同步。經過MVC的Web架構,能夠弱化各個部分的耦合關係,並將業務邏輯處理與頁面以及數據分離開來,這樣當其中一個模塊的代碼發生改變時,並不影響其餘模塊的正常運行,因此基於MVC的Web架構更適應於大型應用開發的潮流。
所以,很多國外的大型企業系統和商務系統都使用以上的MVC架構,可以支持高度複雜的基於Web的大型應用。
結論:JSP對於網站開發來說不像PHP和ASP那樣易學易用,支持JAVA的主機也少於支持PHP的主機,這從必定程度上限制了Java技術在網站上的發展,不過在企業軟件應用上來說,MVC仍是擁有至關大的優點的,雖然其配置和部署相對其餘腳本語言來講要複雜一些,但對於跨平臺的中大型企業應用系統來說,基於JAVA技術的MVC架構幾乎成爲惟一的選擇。