我的家園

          我的家園

          2012年1月TIOBE編程語言排行榜剛剛出爐。最大的新聞當然是此前已連續兩年屈居第二的Objective-C終成正果。拜移動大潮所賜,它在一年中市場份額大漲3.91%,達到近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年風光不再,整整跌去了3.05%,僅剩下3.218%,還不及Objective-C一年中增加的份額,排名也下降3名,可以說是慘不忍睹。當然,Python的實際情況并沒有那么糟糕,據我所知,Python的圖書和Objective-C的圖書差不多一樣好賣,用Python來開發網站和做系統管理的人也越來越多,此外Google工程師Damon Kohler領導的SL4A等項目也在致力于使Python等腳本語言踏上移動開發的大船。另一個大輸家是PHPWeb后端開發難兄難弟Ruby也情況不佳,看來無論如何,移動的確已經搶了Web的風頭了。Lua的上升,一般也認為是因為移動游戲火爆的緣故。

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

          C語言增加1.15%,是原來前三名里唯一增長的,其中緣由值得好好琢磨一下。我感覺隨著云計算的發展,高性能成為服務器端系統軟件的重點,C的優勢會越來越明顯。比如,前幾天CouchDB項目創始人Damien Katz宣布轉而專注開發Couchbase時,就強調新項目中已經放棄Erlang,轉用C,因為在性能和底層控制上C無與倫比。未來一年,C與Java的王者之爭是一個看點。

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

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

          無論如何,函數式語言的重要性越來越強了:

          分類

          2012年1月份額

          2011年1月相比變化
          面向對象語言 57.1% +1.8%
          過程式語言 36.8% -2.7%
          函數式語言 4.3% +0.6%
          邏輯式語言 1.8% +0.3%

          但是,第一次進入前20的R很有潛力,因為,它是大數據時代的寵兒,進行數據分析的利器,假以時日,超過Transact-C、PL/SQL這些同類是正常的。

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

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

          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

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

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

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

          來看看長期趨勢圖。

          后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

          更長期的數據。

          編程語言 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編程語言社區排行榜是編程語言流行趨勢的一個指標。每月更新。這份排行榜排名基于互聯網上有經驗的程序員、課程和第三方廠商的數量。排名 使用著名的搜索引擎(諸如Google、 MSN 、雅虎)以及Wikipedia和YouTube進行計算。請注意這個排行榜只是反映某個編程語言的熱門程度,并不能說明一門編程語言好不好,或者一門語 言所編寫的代碼數量多少。

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


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


          網站導航:
           
          主站蜘蛛池模板: 富川| 佛坪县| 响水县| 香港| 增城市| 社旗县| 兰西县| 温泉县| 迁西县| 新蔡县| 濉溪县| 桂平市| 舟曲县| 嘉兴市| 郎溪县| 呼玛县| 新民市| 克山县| 安仁县| 株洲县| 民县| 宁阳县| 东山县| 庐江县| 营口市| 北宁市| 合作市| 余姚市| 灵石县| 德保县| 曲阳县| 横山县| 卓资县| 白沙| 鹤岗市| 横峰县| 清新县| 庆城县| 科尔| 锦州市| 盐山县|