Go 語言獲得 IEEE Spectrum 2019 年度編程語言 Top 10
歡迎來到 IEEE Spectrum 第六屆頂級編程語言年度互動排名。今年,我們進行了重大改革,改變了一些基礎指標并構建了新的簡化界面。但我們的基本思想和方法仍然相同:將來自多個來源的數據結合起來,對于您感興趣的編碼類型的編程語言的流行程度進行排名。
我們采用這種方法來解決所有確定編程語言普及程度的兩個基本障礙:(1)當他們敲擊鍵盤時,沒有人能真正看到世界上每個編碼器的肩膀,(2)一種語言是一個編程領域的基石,在另一個編程領域可能完全無關緊要。 Spectrum從8個來源獲取11個指標的數據,我們認為這些指標是受歡迎程度的良好代理,我們將結果組合在一個應用程序中,該應用程序允許您過濾語言并調整給予每個指標的權重。結果是適合您的排名。 (作為我們改革的一部分,我們已經去掉了前幾年我們使用的兩個指標,因為我們認為它們不再產生高質量的數據,包含來自 IEEE 招聘網站的數據,并在列表中添加了一些新語言,比如 Dart。)
當然,我們還內置了一些預設的權重,這些權重是針對求職者而優化的,例如,或者有興趣進入開源項目的人。我們的默認權重針對典型的頻譜閱讀器進行了優化,讓我們來看看它所顯示的 2019 年的十大語言。

應用程序前十名列表
雖然我們的基本指標的變化意味著我們在直接將今年的排名與去年的排名進行比較時必須小心,但結果的總體輪廓仍然相似,而 Python 則始終處于領先地位。Python 的受歡迎程度在很大程度上受到大量可用的專用庫的驅動,特別是在人工智能領域,Keras 庫是深度學習開發人員中的重量級人物:Keras 為 TensorFlow ,CNTK 和 Theano 之類的深度學習框架和工具包提供了接口。深度學習并不是 Python 在 1991 年首次發布語言時無法預料到的唯一領域。微控制器中計算能力的急劇增長意味著嵌入式 Python 版本,如 CircuitPython 和 MicroPython ,正在越來越受制造商歡迎。
接下來是 Java,C 和 C++,這三門語言長期互相爭斗,但一直 Python 是頭把交椅,盡管通過我們調整后的指標,這些競爭者之間的排名差距已經擴大,C ++ 的得分比 Python 少了 12.5 分。 (在任何給定的排名中,排名最高的語言被分配為 100 分,并且排名較低的語言的分數被等比例縮放。)數字運算語言 R 排在前五位。盡管它是一種比其他語言更專業的語言,但由于世界充斥著越來越多的大數據,它近年來一直保持著它的流行程度。
進入前 10 名的 Matlab(由 MathWorks 開發并用于數值計算的專有語言)的存在對某些人來說可能是一個驚奇,但它只是反映了該語言在硬件工程中的突出地位,特別是那些對運行模擬感興趣的人或通過 MathWorks 的圖形化 Simulink 軟件包創建控制系統。
在前 10 名之下,一些值得注意的語言包括 11 名的 Arduino 和 12 名的 HTML/CSS。在過去幾年中,一些讀者抱怨說它們都不應出現在編程語言列表中。對于 Arduino,爭論的是沒有這樣的語言,“Arduino” 實際上是語言運行的硬件平臺系列的名稱,并且這種語言應該被稱為 Wiring(或者有時候是 C 或 C ++)由于歷史原因)。在這方面,我們以簡單的實用主義為導向:當面對編程問題時,絕大多數 Arduino 開發人員使用諸如 “Arduino Code for …” 之類的術語來搜索 Google,而不是任何替代方案。通過選擇事實上的名稱,我們避免大大減少為 Arduino 和類似微控制器編寫的程序的流行度。
當涉及 HTML 時,實用主義也是游戲的名稱,這里的反對意見是它不是真正的編程語言,因為它沒有分支或循環結構。但鑒于 HTML 和 CSS 在開發人員中的廣泛流行,以及他們習慣于指導數十億臺計算機每天做事,我們覺得任何關于圖靈完整性的學術論點都是不重要的。標記語言仍然是一種語言。
最后,一些較老的語言仍然活著并且在踢。 特別是,盡管已有 60 多年的歷史,Fortran 仍然排在第 38 位,可能是由于原始科學計算語言具有巨大的傳統力量。 該語言仍在積極開發中,新的 Fortran 標準于2018年底發布,其中包含與 C 的改進的互操作性以及對大規模并行計算的更好支持。
去年的排行榜

去年還在第 6 為的 PHP,今年已經不在 Top 10 中了。這對 PHP 來說卻是不是好兆頭。