我的家園

          我的家園

          2012年1月TIOBE編程語言排行榜剛剛出爐。最大的新聞當(dāng)然是此前已連續(xù)兩年屈居第二的Objective-C終成正果。拜移動大潮所賜,它在一年中市場份額大漲3.91%,達(dá)到近7%,毫無懸念地拿下2011年年度語言大獎

          看看歷史上各年度的年度語言都是誰:
          年度 年度語言
          2011 Objective-C
          2010 Python
          2009 Go
          2008 C
          2007 Python
          2006 Ruby
          2005 Java
          2004 PHP
          2003 C++

          大家注意到去年的大獎得主是誰嗎?Python!(參考去年1月的排行榜)非常悲劇的是,兩屆年度語言大獎得主Python在2011年風(fēng)光不再,整整跌去了3.05%,僅剩下3.218%,還不及Objective-C一年中增加的份額,排名也下降3名,可以說是慘不忍睹。當(dāng)然,Python的實(shí)際情況并沒有那么糟糕,據(jù)我所知,Python的圖書和Objective-C的圖書差不多一樣好賣,用Python來開發(fā)網(wǎng)站和做系統(tǒng)管理的人也越來越多,此外Google工程師Damon Kohler領(lǐng)導(dǎo)的SL4A等項(xiàng)目也在致力于使Python等腳本語言踏上移動開發(fā)的大船。另一個大輸家是PHPWeb后端開發(fā)難兄難弟Ruby也情況不佳,看來無論如何,移動的確已經(jīng)搶了Web的風(fēng)頭了。Lua的上升,一般也認(rèn)為是因?yàn)橐苿佑螒蚧鸨木壒省?/span>

          除了Objective-C之外,風(fēng)頭最勁的就是C#了,大漲2.55%,名次更是進(jìn)入三甲,將占據(jù)這一位置長達(dá)十年的C++拉下了馬,也可以說一個歷史時刻。這里面估計(jì)有很多原來的VB程序員轉(zhuǎn)投吧,本來想說Delphi的,仔細(xì)一看,人家居然也是增長的……另外,應(yīng)該有Windows Phone的因素吧,通過Mono你還可以用C#來開發(fā)Android和iOS應(yīng)用。

          C語言增加1.15%,是原來前三名里唯一增長的,其中緣由值得好好琢磨一下。我感覺隨著云計(jì)算的發(fā)展,高性能成為服務(wù)器端系統(tǒng)軟件的重點(diǎn),C的優(yōu)勢會越來越明顯。比如,前幾天CouchDB項(xiàng)目創(chuàng)始人Damien Katz宣布轉(zhuǎn)而專注開發(fā)Couchbase時,就強(qiáng)調(diào)新項(xiàng)目中已經(jīng)放棄Erlang,轉(zhuǎn)用C,因?yàn)樵谛阅芎偷讓涌刂粕螩無與倫比。未來一年,C與Java的王者之爭是一個看點(diǎn)。

          另一個份額增加較多的語言是JavaScript (+0.73%),之前我曾經(jīng)分析過,實(shí)戰(zhàn)中不用JavaScript的程序員其實(shí)越來越少,JavaScript實(shí)際的份額和名次肯定被低估了。而且,它是最有可能通吃各個領(lǐng)域的統(tǒng)一編程語言。隨著包括移動終端在內(nèi)的HTML5(它已經(jīng)成為公認(rèn)的未來)和服務(wù)器端Node.js發(fā)展,我相信JavaScript不久之后會進(jìn)入排行榜的最前列。看看GitHub上的語言分布吧:

          2012年哪些編程語言能成為黑馬呢?很有難度。TIOBE評論中提到了F#, Groovy和R。我對前兩者都不看好。F#的理由很簡單,.NET陣營的技術(shù)人員總體慣性較大,對新技術(shù)不熱衷,而且C#的迅速發(fā)展使得很多F#的優(yōu)勢也漸漸消失了。Groovy更多的應(yīng)該是用作Java項(xiàng)目中的膠水用,相對小眾,而且它還有Scala、Clojure等各種JVM語言做勁敵,日子肯定不輕松。

          無論如何,函數(shù)式語言的重要性越來越強(qiáng)了:

          分類

          2012年1月份額

          2011年1月相比變化
          面向?qū)ο笳Z言 57.1% +1.8%
          過程式語言 36.8% -2.7%
          函數(shù)式語言 4.3% +0.6%
          邏輯式語言 1.8% +0.3%

          但是,第一次進(jìn)入前20的R很有潛力,因?yàn)椋谴髷?shù)據(jù)時代的寵兒,進(jìn)行數(shù)據(jù)分析的利器,假以時日,超過Transact-C、PL/SQL這些同類是正常的。

          另外也別忘了Go,一旦有更多實(shí)際生產(chǎn)應(yīng)用的證明,它還是會贏得不少擁躉的,畢竟,系統(tǒng)編程語言占據(jù)著巨大的市場份額,能夠搶下幾分之一,也足以進(jìn)入前十了。

          好了,閑話少敘,大家看榜吧。

          2012年1月

          名次

          2011年1月

          名次

          名次變化 編程語言

          2012年1月

          份額

          份額變化 狀況
          1 1 Java 17.479% -0.29%   A
          2 2 C 16.976% +1.15%   A
          3 6 C# 8.781% +2.55%   A
          4 3 C++ 8.063% -0.72%   A
          5 8 Objective-C 6.919% +3.91%   A
          6 4 PHP 5.710% -2.13%   A
          7 7 (Visual) Basic 4.531% -1.34%   A
          8 5 Python 3.218% -3.05%   A
          9 9 Perl 2.773% -0.08%   A
          10 11 JavaScript 2.322% +0.73%   A
          11 12 Delphi/Object Pascal 1.576% +0.29%   A
          12 10 Ruby 1.441% -0.34%   A
          13 13 Lisp 1.111% +0.00%   A
          14 14 Pascal 0.798% -0.12%   A
          15 17 Transact-SQL 0.772% +0.01%   A
          16 24 PL/SQL 0.709% +0.15%   A
          17 20 Ada 0.634% -0.05%   B
          18 39 Logo 0.632% +0.29%   B
          19 25 R 0.609% +0.07%   B
          20 21 Lua 0.559% -0.08%   B

          必須聲明,這個榜單本身采集的是英文世界的數(shù)據(jù),雖然在反映趨勢上有一些參考意義,但與中國的實(shí)際情況不完全符合,而且,這張采樣本身也有相當(dāng)大的局限性。比如榜單中的排名肯定與JavaScript的實(shí)際使用率不匹配,畢竟現(xiàn)在不用JavaScript的項(xiàng)目越來越少了,它甚至還在大舉入侵服務(wù)器端(參閱Node.js方面的介紹)。還有應(yīng)用廣泛的Shell排名也不高,但是在Unix/Linux類平臺上,不用Shell的程序員應(yīng)該也不會很多。《程序員》2010年8月刊的圓桌討論“什么是最美麗的編程語言”中,許多專家也談到了這一點(diǎn)。

          TIOBE排行榜從長期來看意義更大(所以應(yīng)該多重視5年、10年的變化),短期則只有參考價值。請大家注意,我們每月按時編譯排行榜,目的是告訴大家技術(shù)趨勢,而不是引發(fā)沒有內(nèi)容的編程語言口水戰(zhàn)(這類評論通常都會被刪去,相關(guān)不良記錄也會記入發(fā)帖者的帳號)。

          我們想特別指出的是,各種語言都有其自身的長處和缺點(diǎn),籠統(tǒng)比較優(yōu)劣毫無意義。而且就目前一般的編程任務(wù)而言,基本上各種語言都能勝任,開發(fā)效率也 和使用者的熟練程度密切相關(guān)。語言的此消彼長,關(guān)鍵在于社區(qū),如果你熱愛哪一種語言,請到CSDN開設(shè)博客,多寫自己的心得、經(jīng)驗(yàn)、各種層次的教程,讓更 多人體驗(yàn)到這種語言之美,擴(kuò)大自己的社區(qū)。我們歡迎有質(zhì)量有內(nèi)容的語言和框架比較的技術(shù)文章,堅(jiān)決排斥浪費(fèi)自己和他人時間和資源的口水戰(zhàn)。 

          來看看長期趨勢圖。

          后30名排名情況。

          名次 編程語言 市場份額
          21 Assembly 0.550%
          22 C shell 0.528%
          23 MATLAB 0.515%
          24 Visual Basic .NET 0.482%
          25 NXT-G 0.478%
          26 Go 0.474%
          27 Fortran 0.434%
          28 ABAP 0.418%
          29 Scheme 0.415%
          30 RPG (OS/400) 0.402%
          31 COBOL 0.393%
          32 SAS 0.339%
          33 F# 0.338%
          34 Scratch 0.334%
          35 ActionScript 0.326%
          36 Groovy 0.322%
          37 D 0.320%
          38 Forth 0.318%
          39 Erlang 0.304%
          40 PL/I 0.303%
          41 Haskell 0.301%
          42 Ladder Logic 0.299%
          43 Prolog 0.292%
          44 ML 0.291%
          45 Q 0.276%
          46 OpenEdge ABL 0.274%
          47 Standard ML 0.274%
          48 Smalltalk 0.260%
          49 Tcl 0.259%
          50 APL 0.245%

          后50名的語言如下,其中你還知道哪些?

          (Visual) FoxPro, ABC, Algol, Alice, Awk, Bash, bc, BETA, BlitzMax, Boo, Bourne shell, C++/CLI, CFML, cg, CL (OS/400), Clean, cT, Dart, Dylan, Eiffel, Factor, Icon, IDL, Io, J, JavaFX Script, JScript.NET, Korn shell, LabVIEW, LabWindows/CVI, Lingo, Max/MSP, Modula-2, MUMPS, NATURAL, Oberon, Occam, OpenCL, Oz, PowerShell, Revolution, S, S-PLUS, Scala, TOM, VBScript, VHDL, X10, XSLT, Z shell

          更長期的數(shù)據(jù)。

          編程語言 2012年1月名次 2007年1月名次 1997年1月名次 1987年1月名次
          Java 1 1 5 -
          C 2 2 1 1
          C# 3 7 - -
          C++ 4 3 2 7
          Objective-C 5 46 - -
          PHP 6 5 - -
          (Visual) Basic 7 4 3 5
          Python 8 8 26 -
          Perl 9 6 6 -
          JavaScript 10 9 25 -
          Lisp 13 16 16 2
          Ada 17 17 12 3

          【說明】

          TIOBE編程語言社區(qū)排行榜是編程語言流行趨勢的一個指標(biāo)。每月更新。這份排行榜排名基于互聯(lián)網(wǎng)上有經(jīng)驗(yàn)的程序員、課程和第三方廠商的數(shù)量。排名 使用著名的搜索引擎(諸如Google、 MSN 、雅虎)以及Wikipedia和YouTube進(jìn)行計(jì)算。請注意這個排行榜只是反映某個編程語言的熱門程度,并不能說明一門編程語言好不好,或者一門語 言所編寫的代碼數(shù)量多少。

          這個排行榜可以用來考查你的編程技能是否與時俱進(jìn),也可以在開始開發(fā)新系統(tǒng)時選擇語言時用來進(jìn)行策略性的決策。排行榜的詳細(xì)定義可以參考這里(英文)。


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 手机| 温泉县| 旬阳县| 齐河县| 莱芜市| 延庆县| 泰宁县| 宜兰市| 澄江县| 清涧县| 通州市| 瑞昌市| 奉节县| 平武县| 都匀市| 察隅县| 九寨沟县| 镇原县| 年辖:市辖区| 汉源县| 荥经县| 金坛市| 合阳县| 铜川市| 聊城市| 乌拉特前旗| 庆云县| 阜平县| 遂宁市| 尚义县| 连城县| 靖宇县| 郴州市| 宁陵县| 岐山县| 手游| 松潘县| 兰州市| 资中县| 阆中市| 确山县|