polaris xu註:Go這一年雖然增長挺多,然而,有些語言勢頭更猛,使得 Go 語言相比較去年降了1位。這裡指的一提的是,PHP 直接沒在該榜單中了~
歡迎來到 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 來說卻是不是好兆頭。
本文有 Go 語言中文網 根據英文 https://spectrum.ieee.org/computing/software/the-top-programming-languages-2019 編譯,對原文有增減。