java,php,asp,asp.net,ror等几种Web技术对比(第一版本)
目錄
1.1? 8月編程語言榜分析
1.2? Web開發語言技術分析
1.1? 8月編程語言榜分析
我個人認為作為一個初學者最起碼你要對現在的Web技術有一定的了解,最起碼也要對自己所熟悉
的語言非常了解,知道它的優點和缺點,適合做什么樣類型的開發。我現在首先對現在的Web技術
編程語言的排名做個列表,這是Tiobe近日公布了2009年8月的編程語言排行榜
從上面的榜單我們可以看到Web技術排名順序依次是Java、PHP、Python、C#、Perl、JSP、
Ruby(讀者注意這里的排名只是開發者用戶數,也就是說一種語言的流行度排行,并不是排名
低就是差,他們之間沒有差別,關鍵在于使用者的差別,語言只是輔助工具真正的重要的是開
發者的思想),本文對他們這些語言進行技術性分析。
1.2? Web開發語言技術分析
??????RubyRuby,一種為簡單快捷對象導向編程(面向對象程序設計)而創的腳本語言。它的設計理念是為了減少編程時候的不必要的瑣碎時間,令編寫程序的人高興,Ruby即像Smalltalk一樣完全面向對象、腳本執行、又有Perl強大的文字處理功能。
它的優點開發速度非常快、代碼寫起來很優雅等等,它最吸引人的地方在于它的庫(library)以及框架(framework),ROR是一個可以帶來高生產效率的Web開發框架。
但它也有自身的不足,它還沒有一個非常好的開發工具,特別是在你熟練的使用它的編輯器之后,它不能夠像java那樣的開發環境,比如eclipse。另一個問題是,Ruby在block上的時間并不快,但這并不是什么大問題。
Ruby開發的成功案例:
Twitter — 全球最著名的微博客,它允許用戶將自己的最新動態和想法以短信息的形式發送給手機和個性化網站群。
Awstats — 全世界最大的文件分享平臺,成立于2007年,目前已登上世界300大網站,每月共有超過兩億個訪客、累積數億篇以上的文件檔案。。
結論:Ruby。
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架構幾乎成為唯一的選擇。
??????PerlPerl(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語法簡單,非常易學易用,很利于快速開發各種功能不同的定制網站,PHP因為結構上的缺陷,使的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幾乎具有無限可擴充性。
結論:和PHP一樣,ASP簡單而易于維護,很適合小型網站應用,通過DCOM和MTS技術,ASP甚至還可以完成小規模的企業應用,但ASP的致命缺點就是不支持跨平臺的系統,在大型項目開發和維護上非常困難。
轉載于:https://www.cnblogs.com/kingwangone/archive/2009/08/10/1542036.html
總結
以上是生活随笔為你收集整理的java,php,asp,asp.net,ror等几种Web技术对比(第一版本)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 抓紧时间贴照片
- 下一篇: Spring.NET学习笔记(4)-对象