TIOBE近日公布了2012年3月份的編程語言排行榜,本月的排行榜最大的看點(diǎn)莫過于JavaScript連升2名重新回到了第8名的位置,超越了Perl和Python。在09年3月到12月連續(xù)10月穩(wěn)居第8的排名輝煌如今又重新回來了。JavaScript自1995年誕生以來已過去了17個(gè)年頭,如今現(xiàn)在的網(wǎng)站越來越多都依賴JavaScript開發(fā),以及目前HTML5和node.Js也受到了不少開發(fā)者的火熱追捧。預(yù)計(jì)JavaScript的普及不久將會(huì)得到進(jìn)一步的提升。JavaScript從過去裝飾性的一種腳本語言轉(zhuǎn)變?yōu)橹髁鞯木幊陶Z言,人們用它來開發(fā)更大更復(fù)雜的程序,這就需要Web開發(fā)人員更深入的了解JavaScript,了解它的過去、現(xiàn)在和未來。
在排行榜中還有另一個(gè)有趣的現(xiàn)象,與軟件相關(guān)的巨頭公司,如甲骨文,微軟,蘋果推出的語言都擠進(jìn)了10名內(nèi),相比之下谷歌似乎無法達(dá)到。谷歌的GO語言在上個(gè)月的排名跌出50名,而其Dart語言在本月的排行僅在78位。
本月的前兩名依然是Java和C,但值得注意的是Java在本月的份額為17.110%,比去年同期下降了2.60%。而C在本月的份額為17.087%,比去年同期增長了1.82%。編程語言的王者之爭不久很可能會(huì)發(fā)生改變。而在2012年1月編程排行榜中,C++被C#追上,丟失了季軍位置,同時(shí)又被Objective-C緊追其后,兩面受敵??磥鞢++要重新回到季軍的位置恐怕不是件容易的事了。
下面是本期編程語言排行榜的其他排名數(shù)據(jù)和趨勢走向
JavaScript前身
下面是前20名的編程語言排行
JavaScript前身
1995年前后,隨著因特網(wǎng)的發(fā)展,網(wǎng)頁開始流行起來。一些公司開始嘗試發(fā)布自己的網(wǎng)頁瀏覽器。
最早的公司是稱作Nombas的。它開發(fā)了一種叫c減減的程序。后因?yàn)槊Q消極更名為ScriptEase.此腳本語言是被捆綁在CEnvi的共享軟件產(chǎn)品中。該公司開發(fā)了嵌入網(wǎng)頁的CEnvi版本。
1995年Netscape和sun公司聯(lián)手開發(fā)了一個(gè)叫l(wèi)ivescript的腳本語言。就在 Netscape Navigator 2.0 即將正式發(fā)布前,Netscape 將其更名為 JavaScript,目的是為了利用 Java 這個(gè)因特網(wǎng)時(shí)髦詞匯。Netscape 的賭注最終得到回報(bào),JavaScript 從此變成了因特網(wǎng)的必備組件。
1997年ECMA統(tǒng)一標(biāo)準(zhǔn)ECMAScript腳本語言。
三足鼎立
因?yàn)?JavaScript 1.0 如此成功,Netscape 在 Netscape Navigator 3.0 中發(fā)布了 1.1 版。恰巧那個(gè)時(shí)候,微軟決定進(jìn)軍瀏覽器,發(fā)布了 IE 3.0 并搭載了一個(gè) JavaScript 的克隆版,叫做 JScript(這樣命名是為了避免與 Netscape 潛在的許可糾紛)。微軟步入 Web 瀏覽器領(lǐng)域的這重要一步雖然令其聲名狼藉,但也成為 JavaScript 語言發(fā)展過程中的重要一步。
在微軟進(jìn)入后,有 3 種不同的 JavaScript 版本同時(shí)存在:Netscape Navigator 3.0 中的 JavaScript、IE 中的 JScript 以及 CEnvi 中的 ScriptEase。與 C 和其他編程語言不同的是,JavaScript 并沒有一個(gè)標(biāo)準(zhǔn)來統(tǒng)一其語法或特性,而這 3 中不同的版本恰恰突出了這個(gè)問題。隨著業(yè)界擔(dān)心的增加,這個(gè)語言的標(biāo)準(zhǔn)化顯然已經(jīng)勢在必行。
ECMAScript標(biāo)準(zhǔn)
1997年,歐洲計(jì)算機(jī)制造商協(xié)會(huì)(ECMA)在JavaScript語言規(guī)范的基礎(chǔ)上制定了ECMA-262標(biāo)準(zhǔn),形成了網(wǎng)頁腳本語言的規(guī)范。目前各主流瀏覽器均支持符合 ECMA-262標(biāo)準(zhǔn)的腳本語言。從此,Web瀏覽器就開始努力(雖然有著不同程度的成功和失敗)將ECMAScript作為JavaScript實(shí)現(xiàn)的基礎(chǔ)。盡管ECMAScript是一個(gè)重要的標(biāo)準(zhǔn),但它并不是JavaScript唯一的部分,當(dāng)然,也不是唯一被標(biāo)準(zhǔn)化的部分。實(shí)際上,一個(gè)完整的JavaScript實(shí)現(xiàn)是由以下3個(gè)不同部分組成的:
核心(ECMAScript)——JavaScript的核心ECMAScript描述了該語言的語法和基本對(duì)象
文檔對(duì)象模型(DOM)——DOM描述了處理網(wǎng)頁內(nèi)容的方法和接口
瀏覽器對(duì)象模型(BOM)——BOM描述了與瀏覽器進(jìn)行交互的方法和接口
目前所有的主流 Web 瀏覽器都支持 ECMA-262 第三版,即JavaScript 1.5版本,JavaScript 1.6-1.9只是ECMAScript (JavaScript on Gecko)升級(jí)至JavaScript 2.0的臨時(shí)代號(hào)。
JavaScript的發(fā)展趨勢
語言永遠(yuǎn)被當(dāng)做工具,這一點(diǎn)從來都沒有被改變過,以后也不會(huì),語言是使用及和其他技術(shù)進(jìn)行交流的方式和手段。例如,在Windows平臺(tái)上,使用ADODB組件可以使JavaScript能處理支持SQL的數(shù)據(jù)庫中的數(shù)據(jù),使用FSO組件可以實(shí)現(xiàn)本地文件IO功能。這一切都說明了JavaScript位于應(yīng)用開發(fā)的最頂端,其與低層技術(shù)的實(shí)現(xiàn)無關(guān)。
盡管平臺(tái)技術(shù)不斷發(fā)生變化,JavaScript仍將以不變的形式去使用平臺(tái)提供的能力從而適應(yīng)新的需求。未來的一段時(shí)間內(nèi),Web開發(fā)將是開發(fā)者眾聚之地,也是JavaScript變得紫紅的時(shí)代。
前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
下面給出了編程語言類別的一年變化趨勢