4月編程語言排行榜:Top20里的“陌生人”
原創(chuàng)【51CTO獨家特稿】Tiobe近日發(fā)布了2010年4月的編程語言排行榜,在本期榜單中,C語言反超Java奪得榜首。Tiobe分析稱,在最近的十年中,C語言一直占據(jù)軟件開發(fā)中15%-20%的編程語言使用率;此次重奪王位,并不意味著C語言的增長,而是Java的衰老(詳細(xì)分析請參考51CTO之前的報道《Java,正在老去的王者》)。另外值得注意的是,Sun的RIA技術(shù)——JavaFX腳本語言一舉竄升四位,有望進(jìn)入前20名。
本期編程榜我們將視角放在榜單前20名中那些我們并不熟悉的編程語言,來看一看Top20里的“陌生人”。
下面是本期榜單的前20名,請留意標(biāo)亮的幾門語言。
Tiobo編程語言排行榜的前20名幾乎占據(jù)了全球編程語言使用率的70%。長期出現(xiàn)在編程榜前20名里的語言除了Java、C、PHP等我們熟悉并經(jīng)常使用的語言外,還有一些國內(nèi)很少應(yīng)用的語言,比如這期榜單中的SAS、ABAP、MATLAB和Lua。
由于國內(nèi)外軟件需求和開發(fā)者使用習(xí)慣上的差異,這些語言并不為我們所熟知,但其在IT界及軟件開發(fā)與應(yīng)用方面的作用不可小視。值得注意的是,這些陌生的語言之所以可以長期占據(jù)編程榜重要的位置,要么是因為其背后有強(qiáng)勢的軟件平臺(廠商)支持,要么是自身的特點專注并擅長于某一領(lǐng)域。簡單來說,還是應(yīng)用場景和應(yīng)用需求決定了這些小眾語言的大眾地位。
SAS —— 本期排名13
要了解SAS語言,首先需要知道SAS軟件系統(tǒng)。SAS系統(tǒng)是國外著名的統(tǒng)計分析軟件,1966年在美國北卡羅萊納州立大學(xué)誕生,經(jīng)過多年的發(fā)展和完善,目前,SAS系統(tǒng)已經(jīng)成為國際統(tǒng)計分析的標(biāo)準(zhǔn)軟件,在各個領(lǐng)域應(yīng)用廣泛。SAS 是一個模塊化、集成化的大型應(yīng)用軟件系統(tǒng)。它由數(shù)十個專用模塊構(gòu)成,功能包括數(shù)據(jù)訪問、數(shù)據(jù)儲存及管理、應(yīng)用開發(fā)、圖形處理、數(shù)據(jù)分析、報告編制、運籌學(xué)方法、計量經(jīng)濟(jì)學(xué)與預(yù)測等等。
SAS系統(tǒng)的使用依賴其自身帶有的SAS語言。SAS系統(tǒng)的用戶需要通用SAS語言提供的命令、語句和語法來控制系統(tǒng)完成數(shù)據(jù)管理和分析工作。
簡單來看,SAS語言的功能有點類似數(shù)據(jù)庫語言(如FoxPro),但又添加了一般高級程序設(shè)計語言的許多成分(如分支、 循環(huán)、數(shù)組),以及專用于數(shù)據(jù)管理、統(tǒng)計計算的函數(shù)。在SAS中,大部分常用的復(fù)雜數(shù)據(jù)計算的算法作為標(biāo)準(zhǔn)過程調(diào)用,用戶僅需要指出過程名及其必要的參數(shù)。這一特點使得SAS編程十分簡單,同時大大簡化了SAS數(shù)據(jù)分析系統(tǒng)的工作。SAS系統(tǒng)的數(shù)據(jù)管理、報表、圖形、統(tǒng)計分析等功能都可以用SAS語言程序來調(diào)用,只要指定要完成的任務(wù)就可以由SAS系統(tǒng)按照預(yù)先設(shè)計好的程序去進(jìn)行。關(guān)于SAS語言的詳細(xì)介紹請參考:數(shù)據(jù)管理與分析語言SAS簡介
ABAP —— 本期排名17
ABAP是一門高級商業(yè)應(yīng)用程序設(shè)計語言(Advanced Business Application Programming),它是著名商業(yè)軟件公司SAP開發(fā)的一種編程語言,主要用于SAP系統(tǒng)內(nèi)部商業(yè)應(yīng)用程序的設(shè)計和開發(fā)。一般,SAP的商業(yè)軟件會提供一系列的應(yīng)用解決方案,同時提供一系列的編程接口對這些系統(tǒng)進(jìn)行二次開發(fā),ABAP就是這種二次開發(fā)的主力編程語言。ABAP語言開發(fā)的程序通過SAP開發(fā)平臺編譯并應(yīng)用(依賴)與SAP系統(tǒng)。
ABAP是面向?qū)ο笳Z言。它支持封裝性和繼承性。封裝性是面向?qū)ο蟮幕A(chǔ),而繼承性則是建立在封裝性基礎(chǔ)上的重要特性;ABAP的另一個特點是基于事件驅(qū)動的。
ABAP程序的源代碼包括數(shù)據(jù)定義和處理快兩個部分。
數(shù)據(jù)定義:包含整個程序中可見的全局?jǐn)?shù)據(jù)類型和數(shù)據(jù)對象,選擇屏幕元素以及ABAP Objects中自定義的類和接口;
處理塊:是ABAP程序的主要結(jié)構(gòu)單元,定義了程序在不同狀態(tài)下執(zhí)行的具體功能,在程序編譯運行過程中,每個塊都是一個獨立的實體。ABAP程序中,數(shù)據(jù)定義和生命是獨立于任何處理快遞,其他所有語句都必須隸屬于某個處理塊。
MATLAB —— 本期排名18
MATLAB是一門精于數(shù)據(jù)分析和數(shù)值計算的語言,它最早有美國新墨西哥大學(xué)計算機(jī)科學(xué)系主任Cleve Moler創(chuàng)建,1984年由MathWorks公司正式把MATLAB推向市場。目前,MATLAB已經(jīng)發(fā)展成為國際控制界的標(biāo)準(zhǔn)高級技術(shù)計算語言和交互式環(huán)境;MATLAB在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計算方面***。它可以進(jìn)行矩陣運算、繪制函數(shù)和數(shù)據(jù)、實現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應(yīng)用于工程計算、控制設(shè)計、信號處理與通訊、圖像處理、信號檢測、金融建模設(shè)計與分析等領(lǐng)域。
MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué)、工程中常用的形式十分相似,所以用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語言完成相同的事情簡捷得多。一般,我們使用MATLAB提供的軟件環(huán)境進(jìn)行MATALB對代碼、文件和數(shù)據(jù)進(jìn)行管理,MATLAB的交互式工具可以按地道的方式探查、設(shè)計和求解問題。MATLAB提供功能強(qiáng)大的數(shù)學(xué)函數(shù)庫,可以用于線性代數(shù)、統(tǒng)計、傅立葉分析、篩選、優(yōu)化和數(shù)值積分等問題求解。此外,各種函數(shù)可將基于MATLAB的算法與外部應(yīng)用程序和語言,如:C、C++、Fortran、Java、COM等,還可以與Microsoft Excel集成,開發(fā)者可以直接調(diào)用,用戶也可以將自己編寫的實用程序?qū)氲組ATLAB函數(shù)庫中方便自己以后調(diào)用。
目前,MATLAB廣泛應(yīng)用在信號和圖像處理、通訊、控制系統(tǒng)設(shè)計、測試和測量、財務(wù)建模和分析以及計算生物學(xué)等眾多應(yīng)用領(lǐng)域。
關(guān)于MATLAB編程的具體應(yīng)用請參考:VC++與MATLAB混合編程及其應(yīng)用
Lua —— 本期排名20
你可能沒聽過Lua,但你一定聽過(或玩過)魔獸世界,Lua***的應(yīng)用案例就是知名網(wǎng)絡(luò)游戲——魔獸世界。Lua是一門簡潔、小巧、可擴(kuò)展性極強(qiáng)的腳本語言。其設(shè)計的目的是為了嵌入應(yīng)用程序中,為應(yīng)用程序提供靈活的擴(kuò)展和定制功能;Lua***的特點就是很容易嵌入其它語言中使用。
Lua是一種動態(tài)弱類型的程式設(shè)計語言。它只提供了很小的一個特性集合來滿足不同程序的需要,其自身所帶有的數(shù)據(jù)類型非常少,只提供了數(shù)字(缺省是雙精度浮點數(shù),可配置)、布爾、字符串等幾種簡單的數(shù)據(jù)類型。Lua只包括一個精簡的核心和最基本的庫。這使得Lua體積小巧,啟動迅速;一個完整的Lua解釋器不過200k,在目前所有腳本引擎中,Lua的速度是最快的。這一切都決定了Lua是作為嵌入式腳本的***選擇。
Lua用標(biāo)準(zhǔn)C語言編寫并以源代碼形式開放,編譯后僅僅一百余K,可以很方便的嵌入別的程式里。與目前許多功能強(qiáng)大的語言不同,Lua自身不提供網(wǎng)絡(luò)、圖形界面和其他復(fù)雜的API庫,這些任務(wù)主要由Lua的宿主語言(使用Lua來擴(kuò)展的語言)來完成。Lua可以使用它們,就像是本來就內(nèi)置的功能一樣。
目前,很多游戲開發(fā)者使用Lua進(jìn)行開發(fā),他們使用Lua作為自己的嵌入式腳本語言,以此來實現(xiàn)可配置性、可擴(kuò)展性。這其中包括大話西游II、仙境傳說、魔獸世界、戰(zhàn)錘40k、博德之門、軒轅劍外傳漢之云等。
下面是本期榜單前10名近年的趨勢走向,請留意Java的下滑趨勢:
#p#
前10名編程語言趨勢走向
其他編程語言及趨勢
下面是本期榜單第21-50的編程語言排名
Position | Programming Language | Ratings |
---|---|---|
21 | Transact-SQL | 0.500% |
22 | JavaFX Script | 0.485% |
23 | Lisp/Scheme | 0.481% |
24 | Scratch | 0.476% |
25 | D | 0.463% |
26 | Bourne shell | 0.437% |
27 | Scala | 0.433% |
28 | Erlang | 0.420% |
29 | COBOL | 0.398% |
30 | RPG (OS/400) | 0.379% |
31 | S-lang | 0.372% |
32 | Logo | 0.361% |
33 | Ada | 0.357% |
34 | Fortran | 0.350% |
35 | NXT-G | 0.321% |
36 | Tcl/Tk | 0.319% |
37 | Alice | 0.317% |
38 | Forth | 0.296% |
39 | FoxPro/xBase | 0.291% |
40 | Caml/F# | 0.280% |
41 | PowerShell | 0.268% |
42 | CL (OS/400) | 0.259% |
43 | Prolog | 0.258% |
44 | Groovy | 0.238% |
45 | Smalltalk | 0.221% |
46 | VHDL | 0.220% |
47 | J | 0.213% |
48 | C shell | 0.198% |
49 | MAX/MSP | 0.196% |
50 | VBScript | 0.186% |
下面是第50到100的編程語言排名
AD, Algol, Alpha, APL, Applescript, Awk, Beta, cg, Clean, cT, Dylan, Eiffel, Factor, Falcon, Focus, Haskell, Heron, Icon, IDL, Informix-4GL, Io, LabVIEW, LabWindows/CVI, Lingo, MAD, Maple, Mathematica, ML, Modula-2, Modula-3, MOO, MS-DOS batch, MUMPS, Natural, Occam, Oz, PL/I, Postscript, PowerBuilder, Progress, Q, R, REALbasic, Revolution, REXX, SIGNAL, SPSS, SuperCollider, Verilog, XSLT
編程語言類別
下面給出了編程語言類別的一年變化趨勢,面向?qū)ο缶幊蹋∣bject-Oriented Languages)依然占到編程語言類型的半壁江山。
Category | Ratings Apr 2010 | Delta Apr 2009 |
---|---|---|
Object-Oriented Languages | 54.2% | -1.7% |
Procedural Languages | 41.3% | +1.4% |
Functional Languages | 2.7% | -0.3% |
Logical Languages | 1.7% | +0.5% |
Category | Ratings Apr 2010 | Delta Apr 2009 |
---|---|---|
Statically Typed Languages | 61.4% | +4.2% |
Dynamically Typed Languages | 38.6% | -4.2% |
動態(tài)和靜態(tài)語言趨勢走向
【2010年編程語言排行榜回顧】