TIOBE近日公布了2012年3月份的編程語言排行榜,本月的排行榜最大的看點莫過于JavaScript連升2名重新回到了第8名的位置,超越了Perl和Python。在09年3月到12月連續10月穩居第8的排名輝煌如今又重新回來了。JavaScript自1995年誕生以來已過去了17個年頭,如今現在的網站越來越多都依賴JavaScript開發,以及目前HTML5和node.Js也受到了不少開發者的火熱追捧。預計JavaScript的普及不久將會得到進一步的提升。JavaScript從過去裝飾性的一種腳本語言轉變為主流的編程語言,人們用它來開發更大更復雜的程序,這就需要Web開發人員更深入的了解JavaScript,了解它的過去、現在和未來。
在排行榜中還有另一個有趣的現象,與軟件相關的巨頭公司,如甲骨文,微軟,蘋果推出的語言都擠進了10名內,相比之下谷歌似乎無法達到。谷歌的GO語言在上個月的排名跌出50名,而其Dart語言在本月的排行僅在78位。
本月的前兩名依然是Java和C,但值得注意的是Java在本月的份額為17.110%,比去年同期下降了2.60%。而C在本月的份額為17.087%,比去年同期增長了1.82%。編程語言的王者之爭不久很可能會發生改變。而在2012年1月編程排行榜中,C++被C#追上,丟失了季軍位置,同時又被Objective-C緊追其后,兩面受敵。看來C++要重新回到季軍的位置恐怕不是件容易的事了。
下面是本期編程語言排行榜的其他排名數據和趨勢走向
JavaScript前身
下面是前20名的編程語言排行
JavaScript前身
1995年前后,隨著因特網的發展,網頁開始流行起來。一些公司開始嘗試發布自己的網頁瀏覽器。
最早的公司是稱作Nombas的。它開發了一種叫c減減的程序。后因為名稱消極更名為ScriptEase.此腳本語言是被捆綁在CEnvi的共享軟件產品中。該公司開發了嵌入網頁的CEnvi版本。
1995年Netscape和sun公司聯手開發了一個叫livescript的腳本語言。就在 Netscape Navigator 2.0 即將正式發布前,Netscape 將其更名為 JavaScript,目的是為了利用 Java 這個因特網時髦詞匯。Netscape 的賭注最終得到回報,JavaScript 從此變成了因特網的必備組件。
1997年ECMA統一標準ECMAScript腳本語言。
三足鼎立
因為 JavaScript 1.0 如此成功,Netscape 在 Netscape Navigator 3.0 中發布了 1.1 版。恰巧那個時候,微軟決定進軍瀏覽器,發布了 IE 3.0 并搭載了一個 JavaScript 的克隆版,叫做 JScript(這樣命名是為了避免與 Netscape 潛在的許可糾紛)。微軟步入 Web 瀏覽器領域的這重要一步雖然令其聲名狼藉,但也成為 JavaScript 語言發展過程中的重要一步。
在微軟進入后,有 3 種不同的 JavaScript 版本同時存在:Netscape Navigator 3.0 中的 JavaScript、IE 中的 JScript 以及 CEnvi 中的 ScriptEase。與 C 和其他編程語言不同的是,JavaScript 并沒有一個標準來統一其語法或特性,而這 3 中不同的版本恰恰突出了這個問題。隨著業界擔心的增加,這個語言的標準化顯然已經勢在必行。
ECMAScript標準
1997年,歐洲計算機制造商協會(ECMA)在JavaScript語言規范的基礎上制定了ECMA-262標準,形成了網頁腳本語言的規范。目前各主流瀏覽器均支持符合 ECMA-262標準的腳本語言。從此,Web瀏覽器就開始努力(雖然有著不同程度的成功和失敗)將ECMAScript作為JavaScript實現的基礎。盡管ECMAScript是一個重要的標準,但它并不是JavaScript唯一的部分,當然,也不是唯一被標準化的部分。實際上,一個完整的JavaScript實現是由以下3個不同部分組成的:
核心(ECMAScript)——JavaScript的核心ECMAScript描述了該語言的語法和基本對象
文檔對象模型(DOM)——DOM描述了處理網頁內容的方法和接口
瀏覽器對象模型(BOM)——BOM描述了與瀏覽器進行交互的方法和接口
目前所有的主流 Web 瀏覽器都支持 ECMA-262 第三版,即JavaScript 1.5版本,JavaScript 1.6-1.9只是ECMAScript (JavaScript on Gecko)升級至JavaScript 2.0的臨時代號。
JavaScript的發展趨勢
語言永遠被當做工具,這一點從來都沒有被改變過,以后也不會,語言是使用及和其他技術進行交流的方式和手段。例如,在Windows平臺上,使用ADODB組件可以使JavaScript能處理支持SQL的數據庫中的數據,使用FSO組件可以實現本地文件IO功能。這一切都說明了JavaScript位于應用開發的最頂端,其與低層技術的實現無關。
盡管平臺技術不斷發生變化,JavaScript仍將以不變的形式去使用平臺提供的能力從而適應新的需求。未來的一段時間內,Web開發將是開發者眾聚之地,也是JavaScript變得紫紅的時代。
前10名編程語言走勢圖
20到50名語言排行
下面是第50到100的編程語言排名
(Visual) FoxPro, ABC, Algol, Alice, Apex, bc, BlitzMax, Boo, CL (OS/400), Clean, Clojure, Dart, Dylan, Euphoria, Factor, Go, Icon, IDL, Informix-4GL, J, JavaFX Script, JScript.NET, Korn shell, LabVIEW, LabWindows/CVI, Ladder Logic, Lingo, LPC, Mathematica, Modula-2, MUMPS, NATURAL, Oberon, Occam, OpenCL, OpenEdge ABL, Oz, PowerShell, Q, REALbasic, REXX, S, S-PLUS, Scala, SuperCollider, VBScript, Verilog, VHDL, X10, xBase
下面給出了編程語言類別的一年變化趨勢