asp,asp.net,php,jsp這四種網站編程語言是現在最常見的web編程語言。關于網站編程語言,每一種語言都有各自的特點,程序語言本身并沒有明顯的優劣之分,也并不一定說哪一種語言更安全,對于經驗豐富的程序員而言,能否建設出一個好的網站關鍵是看其個人能力。
下面對asp,asp.net,php,jsp四種編程語言做下簡要介紹:
1、ASP
ASP全名Active Server Pages,是一個WEB服務器端的開發環境, 它是微軟的Windows IIS系統自帶的腳本語言,利用它可以產生和運行動態的、交互的、高性能的WEB服務應用程序。ASP采用腳本語言VB Script(Java script)作為自己的開發語言。ASP的語法非常像Visual BASIC,學過VB的人可以很快上手,ASP也是這幾種編程語言中最簡單易學的開發語言。因為ASP腳本語言非常簡單,結合HTML代碼,可快速地完成網站的應用程序。
ASP在國內異常流行,而ASP+COM+SQLServer實際上也是一種不錯的搭配,其性能也不輸于PHP + MYSQL,特別是Windows系統和SQLServer都有圖形界面,比APACHE和MYSQL易于維護。不過,正因為ASP很簡單,所以單純使用ASP所能完成的功能也是有限的,好在COM(Component Object Model)技術拯救了ASP,微軟提供了COM/DCOM技術,極大拓寬了ASP的應用范圍,使得ASP幾乎具有無限可擴充性。
ASP簡單而易于維護,很適合小型網站應用,通過DCOM和MTS技術,ASP甚至還可以完成小規模的企業應用,但ASP的致命缺點就是不支持跨平臺的系統,在大型項目開發和維護上非常困難。
2、ASP.NET
asp.net的前身ASP技術,是在IIS 2.0上首次推出(Windows NT 3.51),當時與 ADO 1.0 一起推出,在IIS 3.0 (Windows NT 4.0)發揚光大,成為服務器端應用程序的熱門開發工具,微軟還特別為它量身打造了Visual Studio開發平臺。ASP.NET 使用基于.NET平臺的語言如VB.NET、C#等,完全不同的東西。ASP.NET最新版本asp.net 4.5已經.Net Framework4.5已經在Visual Studio 2012平臺應用。Visual Studio開發平臺的強大,受到現在很多網站編程人員的追捧。
ASP.NET屬于編譯語言,和ASP的最大不同(ASP屬于解釋語言)。ASP.NET的速度 是 ASP不能比擬的。為什么ASP.NET 比 ASP 快:ASP.NET是編譯語言,所以,當第一次加載的時候,它會把所有的程序進行編譯(其中包括 worker進程,還有對語法進行編譯,形成一個程序集),當程序編譯后,執行速度幾乎為0,而ASP是把代碼交給VBScript解釋器或 Jscript解釋器來解釋,當然速度沒有編譯過的程序快了。
而ASP.NET的服務器,要求安裝一個.NET Framework,當然我這里指的是windows系統,順便點一下,.net只能放在windows環境里來運行,不支持跨平臺。
3、php
php可以說是現在市場占有率最高的編程語言。百度,新浪,新浪微薄等大網站均使用php編寫。PHP是一種跨平臺的服務器端的嵌入式腳本語言. 它大量地借用C,Java和Perl語言的語法, 并耦合PHP自己的特性,使WEB開發者能夠快速地寫出動態生成頁面.它支持目前絕多數數據庫。還有一點,PHP是完全免費的,不用花錢。
PHP是完全免費的開源產品,不用花錢,Apache和MYSQL也是用樣免費開源,在國外非常流行,PHP和MYSQL搭配使用,可以說是完美的搭配,可以非常快速的搭建一套不錯的動態網站系統,因此國外大多 數主機系統都配有免費的APACHE+PHP+MYSQL。通常認為這種搭配的執行效率比IIS+ASP+ACCESS要高,而后者的使用還必須另外交錢給微軟。
4、JSP
JSP(JavaServer Pages)是Sun公司推出的一種動態網頁技術。JSP技術是以Java語言作為腳本語言的,熟悉JAVA語言的人可以很快上手。
JSP本身雖然也是腳本語言,但是卻和 PHP、ASP有著本質的區別。PHP和ASP都是由語言引擎解釋執行程序代碼,而JSP代碼卻被編譯成Servlet并由Java虛擬機執行,這種編譯 操作僅在對JSP頁面的第一次請求時發生。
JSP是一種服務器端的腳本語言,最大的好處就是開發效率較高,JSP可以使用JavaBeans或者EJB(Enterprise JavaBeans)來執行應用程序所要求的更為復雜的處理,但是這種網站架構因為其業務規則代碼與頁面代碼混為一團,不利于維護,因此并不適應大型應用的要求,取而代之的是基于MVC的Web架構。
MVC的核心思想是將應用分為模型、視圖和控制器三部分。模型是指應用程序的數據,以及對這些數據的操作; 視圖是指用戶界面;控制器負責用戶界面和程序數據之間的同步。通過MVC的Web架構,可以弱化各個部分的耦合關系,并將業務邏輯處理與頁面以及數據分離 開來,這樣當其中一個模塊的代碼發生改變時,并不影響其他模塊的正常運行,所以基于MVC的Web架構更適應于大型應用開發的潮流。而jsp,php,asp.net在大型應用程序的開發中,都有引用mvc的思想。