一個語言要想進入排行榜,必須符合兩個條件:
- 必須在Wikipedia上有單獨的詞條,并且明確的指明這是一門編程語言。
- 必須是圖靈完備的。 目前TIOBE榜單上的語言有225個(計算機語言真是博大精深,好多都沒聽說過)。
語言的排名(Ratings)根據這門語言在8大網站上搜索出的結果數量的平均值,除以前50名語言搜索出的結果總數得到的。用CSDN上的話說,就是Ratings代表語言的熱門程度。
A類語言被認為是主流語言。如果一個語言的rating連續3個月高于0.7%,則被認為是A類語言。TOIBE建議使用A類語言去構建關鍵任務系統,但是在選擇語言時也需要考慮“應用領域的適合程度”、“編譯器的可靠程度”、“表達能力”、“性能”、“穩定性”。
下面我們看最新的編程語言排行榜:

再看編程語言排行的變化趨勢:

長期曾經的歷史排名:

年度編程語言獲獎情況:

通過對上面圖表的對比 , 下面是我們得出的一些結論:
(1) C在嵌入式和內核等相對底層的領域沒有競爭對手 , 一直保持老大地位。
(2) Java在企業級Web后臺開發領域的地位不可撼動, Android以Java作為應用開發語言又增強了Java在移動開發領域的地位。
(3) C++盡管排名第四, 但地位已經大不如前 , 流行程度有最高時的18%跌倒現在的6%,因為桌面客戶端應用上有C#競爭, 服務端又有Java競爭, 偏底層有C競爭, 移動應用開發也基本沒C++ 什么事(但是WinRT是基于C++的), 現在C++的優勢主要在高性能的大型復雜程序和基礎軟件, 比如游戲客戶端和一些高要求的桌面應用軟件(瀏覽器,殺毒軟件...)。
(4) Objective-C是一匹黑馬, 伴隨著IOS移動開發的流行而興起,它的熱門程度還在不斷上升 ,應該有不少C++程序員轉向了該語言。
(5) C#作為前些年微軟.Net平臺主推的與Java競爭的語言, 地位也比較穩定, 在Web開發和桌面應用領域都有它的一席之地, 但是它的發展取決于Windows的發展。
(6) Python, Ruby, Perl等動態腳本語言總體上也在穩步上升, 很大程度上歸功于它們的靈活方便以及硬件性能的提升, 使解釋執行的低效不再致命。
(7) Visual Basic讓我們覺得很驚奇, 這么多年了, 從1989年排名7到2009年的4,再到2014年的7, 竟然沒有衰退。 相信只要Windows存在一天, 它就會保持一天, Visual Basic的發展歷程很大程度上見證了Windows的興衰歷程。
(8) PHP在輕量級Web網站開發領域的地位一直很穩固, 該趨勢應該也會一直保持。
(9) Javascprit作為Web客戶端不可或缺的腳本語言,它的地位也一直很穩固。隨著HTML5和Web App的興起,它的重要性將會日益突出。因為Node.js的緣故, Javascript在Web服務端開發中現在也已經有一席之地。
(10) 函數式編程語言(比如F#, Lisp)也有回歸態勢。
總之,對于編程語言,個人傾向的原則是:打好基礎(計算機基礎學科才是最重要的),應用為主(工作中用到什么就學什么i),留意趨勢(可以對新技術做些嘗試,了解下原理)。
注:上面對C++的評論有些悲觀,實際上現在不少native客戶端邏輯用C++通吃所有平臺(PC和移動), 只是UI表現層用各自不同的語言。