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