8月編程語言排行榜:微軟系編程語言大閱兵
原創(chuàng)【51CTO獨(dú)家特稿】Tiobe近日公布了2009年8月的編程語言排行榜,51CTO注意到本期榜單中有Objective-CHE第一次進(jìn)入前二十名并取代之前的Lua,而Java、C、C++依然以絕對優(yōu)勢占據(jù)前三甲的位置。本期我們將重點(diǎn)關(guān)注微軟的.NET平臺,以及新近推出的F#、Small Basic語言。
51CTO編輯推薦《跟MVP學(xué)C#視頻教程》
C# 4.0借Visual Studio 2010 Beta1發(fā)力
很多人將C#認(rèn)為是微軟對Java的反擊,我們從C#語言的繼承體系,以及一些特性中可以看出,C#語言綜合了C、C++和Java的優(yōu)點(diǎn)。C#看起來與Java有著驚人的相似;它包括了諸如單一繼承、接口、與Java幾乎同樣的語法和編譯成中間代碼再運(yùn)行的過程。但是C#與Java有著明顯的不同,它借鑒了Delphi的一個(gè)特點(diǎn),與COM(組件對象模型)是直接集成的,而且它是微軟公司.NET平臺的主力。51CTO注意到盡管微軟發(fā)布過J++,但還是不如C#對Java的威脅大。
在Visual Studio 2010 Beta1發(fā)布后,C#關(guān)注度像是被注入強(qiáng)心劑一樣持續(xù)上升。更多的特性支持,是廣大開發(fā)人員支持C#的動力。比如51CTO曾報(bào)道過的Visual Studio 2010中使用C# 4.0的動態(tài)類型,這一動態(tài)類型的新特性包括:1、支持動態(tài)查找;2、同時(shí)支持命名參數(shù)和可選參數(shù);3、增強(qiáng)的COM互操作特性;4、支持方差。從這里面可以看到很多Javascript、Python這些動態(tài)語言的影子。雖然C#越來越偏離靜態(tài)語言的道路,但從另一個(gè)角度來說,這些特性也都是為了提高程序員的生產(chǎn)力。
大起大落的VB
Visual Basic從誕生之日起就注定成為一門合適的入門語言,簡單易學(xué)使Visual Basic成為很多程序員的第一門語言。微軟也很樂意將更多的新東西帶入Visual Basic,最新的Visual Basic 2010新特性包括:數(shù)組初始值設(shè)定項(xiàng)、集合初始值設(shè)定項(xiàng)、內(nèi)聯(lián)Lambda表達(dá)式、自動實(shí)現(xiàn)屬性、泛化、No-PIA部署、與Python的集成、并行計(jì)算擴(kuò)展等。不過目前來看,Visual Basic正處在一個(gè)十字路口,需要更多的新技術(shù)來支持它繼續(xù)前行。
盡管微軟Visual Studio 2010將加強(qiáng)對C++的支持,但是一向作為Visual Studio缺省語言的Visual Basic,還是會作為微軟的主力語言得到推崇。相信隨著Visual Studio 2010正式版的到來,更方便的Visual Basic會更好的提高程序員的工作效率。
微軟F#語言漸入佳境
F#是微軟發(fā)布的一款函數(shù)編程語言。功能編程語言將計(jì)算看作是數(shù)學(xué)函數(shù)的賦值,數(shù)學(xué)特性使得它對需要大量使用數(shù)學(xué)符號的領(lǐng)域的專業(yè)人士頗有吸引力。微軟更允許F#運(yùn)行在CLR之上,51CTO認(rèn)為這也標(biāo)志著微軟將F#列為Visual Studio 2010上的“一等公民”。
作為今后.NET平臺的支柱,微軟希望F#能被用來構(gòu)建應(yīng)用程序的核心,并且在呈現(xiàn)層與C#、Visual Basic合力打造完美的應(yīng)用程序。從這里可以看出微軟全方位做大.NET平臺的決心。盡管F#在本期的榜單中排名并不顯眼,相信明年Visual Studio 2010正式版發(fā)布后,榜單前排一定有F#的位子。
其他微軟語言介紹
M語言,這種新編程語言是微軟新Oslo發(fā)展和面向服務(wù)策略的一部分,在保持文本(textual)和特定領(lǐng)域(domaiN-specific)的同時(shí),還整合了來自XAML的特性。
Spec#是C#的一個(gè)擴(kuò)展,支持許多契約(contract)屬性,如非Null類型系統(tǒng),前置和后置條件,循環(huán)常量(loop invariant)和對象常量等。這個(gè)擴(kuò)展將終結(jié)Null引用異常。
Nemerle是一種多范型語言(面向?qū)ο蠛秃瘮?shù)式),完全支持編譯器宏(后來更多的是Lisp的變種,而不是C++),以及許多其他的東西。Nemerla與Visual Studio 2010里發(fā)布的F#不同,后者是純函數(shù)式語言。
Small Basic,一款針對兒童的免費(fèi)編程語言。不像Scratch和Alice,這款工具屬于“無編碼”環(huán)境,本質(zhì)上講是一個(gè)簡略版本的BASIC語言。
Axum語言曾經(jīng)叫做Maestro,它的目標(biāo)是提供一個(gè).NET環(huán)境下的并行編程模型,支持隔離、actor和消息傳遞。此語言借鑒了很多Erlang語言的元素,不過擁有類似C#的語法。
從Visual Basic到C#,我們不止看到微軟編程語言的發(fā)展路徑,也看到整個(gè)IT項(xiàng)目需求及技術(shù)的起伏發(fā)展,在51CTO.com與Windows教父Jeffrey Richter一次關(guān)于程序語言發(fā)展的對話中,他提到編程語言最初的目的是為了讓人可以控制機(jī)器,從機(jī)器語言、匯編語言直到現(xiàn)在的高級語言和運(yùn)行在虛擬機(jī)上具有更多面向?qū)ο蠛蛣討B(tài)特性的語言,編程語言最初的目的一直沒有改變,只是我們現(xiàn)在可以利用高級語言(比如C#)更加方便、輕松的開發(fā)我們的應(yīng)用來控制機(jī)器。他認(rèn)為,未來的編程語言將會讓開發(fā)人員更輕松的控制機(jī)器,高度的自動化和智能化將是未來編程語言發(fā)展的方向。
#p#
其他編程語言
我們看一下排名21到50的編程語言列表。51CTO重點(diǎn)關(guān)注的Scala較上一月排名上升一位。
Position | Programming Language | Ratings |
---|---|---|
21 | Lua | 0.485% |
22 | ActionScript | 0.471% |
23 | COBOL | 0.441% |
24 | Logo | 0.423% |
25 | Ada | 0.416% |
26 | Fortran | 0.400% |
27 | Scratch | 0.334% |
28 | FoxPro/xBase | 0.319% |
29 | Erlang | 0.310% |
30 | Transact-SQL | 0.294% |
31 | Scala | 0.262% |
32 | Prolog | 0.260% |
33 | Haskell | 0.233% |
34 | ML | 0.232% |
35 | PowerShell | 0.227% |
36 | Alice | 0.221% |
37 | Awk | 0.216% |
38 | Smalltalk | 0.183% |
39 | LabVIEW | 0.173% |
40 | Focus | 0.165% |
41 | Forth | 0.150% |
42 | J | 0.143% |
43 | Tcl/Tk | 0.134% |
44 | JavaFX Script | 0.129% |
45 | NXT-G | 0.125% |
46 | Caml/F# | 0.123% |
47 | CL (OS/400) | 0.117% |
48 | Groovy | 0.117% |
49 | C shell | 0.109% |
50 | APL | 0.107% |
下面是排名51-100的語言:
ABC, AD, Algol, Alpha, Applescript, Beta, Boo, Bourne shell, cg, Clean, Clojure, Cobra, cT, Curl, Dylan, Eiffel, Euphoria, Factor, Falcon, Fan, Icon, IDL, Inform, Io, Lingo, MAD, Magic, Maple, Mathematica, MAX/MSP, MOO, MUMPS, Natural, Occam, Oz, PL/I, Postscript, Progress, Q, R, Revolution, REXX, S-lang, SIGNAL, SPSS, Squirrel, SuperCollider, VBScript, VHDL, XSLT
編程語言類別走勢
靜態(tài)類型和動態(tài)類型的語言走勢
【編輯推薦】1.C#技術(shù)開發(fā)指南
2.C# 4.0新功能和展望
3.深入解析C#編程中的方法重載
4.淺談C# 4.0中的動態(tài)類型和動態(tài)編程
5.如何使用C#與XML創(chuàng)建動態(tài)分層菜單
【歷期榜單回顧】
- 09年7月編程語言排行榜:Java,正在老去的王者
- 09年6月編程語言排行榜::JavaScript轉(zhuǎn)正在即
- 09年5月編程語言排行榜::C++替代者風(fēng)采不再
- 09年4月編程語言排行榜:腳本語言占據(jù)半壁江山
- 09年3月編程語言排行榜:Visual Basic與PHP的暗戰(zhàn)
- 09年2月編程語言排行榜:商業(yè)編程語言的王者之爭
- 09年1月編程語言排行榜:C語言當(dāng)選08年年度編程語言
- 12月TIOBE編程語言排行榜 C或C++有望奪得年度語言
- 11月TIOBE編程語言排行榜 可視化編程語言日漸流行
- 10月TIOBE編程語言排行榜發(fā)布 PowerShell跌落谷底
- 9月TIOBE編程語言排行榜發(fā)布 Delphi東山再起
- 8月TIOBE編程語言排行榜 Python上升顯著
- 7月開發(fā)語言排行榜出爐 PowerShell有望成為年度黑馬