IEEE2019編程語言排行榜:趨勢、開源、職位需求,Python都是第一

IEEE Spectrum 剛剛發佈了第六屆編程語言排行榜。在新的排名方式下,Python 再次名列第一,而且與第二名的差距正在加大。名列後幾位的分別是 Java、C 語言、C++和 R 語言。

這是 IEEE Spectrum 的第六次年度編程語言排行統計。今年的統計進行了重大改革,一些基礎指標進行了重構,而最終的排行榜也進一步得到了簡化。但其基本理念讓仍然相同:將多個數據源的編程語言流行度排名結合起來,得出目前業內人們關注度最高的語言。


IEEE2019編程語言排行榜:趨勢、開源、職位需求,Python都是第一

這些信息來源包括谷歌搜索、谷歌趨勢、推特、GitHub、Stack Overflow、Reddit、Hacker News、CareerBuilder、IEEE Job Site 和 IEEE Xplore Digital Library。

對於編程語言的統計而言,人們總會面臨兩個主要問題:(1)理論上沒有人可以審查所有程序員正在敲的代碼屬於哪種語言;(2)有些時候,一種語言是另一種的基礎,有的時候兩種語言所使用的領域完全沒有相關性。IEEE 的榜單致力於解決這些問題,呈現出最為準確的編程語言流行程度排行。統計者們從 8 種信息渠道獲取數據,並設定了 11 種排名方式——這些指標是過濾語言排名的最優方式——然後將所有結果以不同權重結合起來,獲得了最終的排名。當然,如果你對於權重有異議,也可以在 IEEE 的可交互頁面上設置自己想要的權重:


IEEE2019編程語言排行榜:趨勢、開源、職位需求,Python都是第一


IEEE2019編程語言排行榜:趨勢、開源、職位需求,Python都是第一

在 IEEE Spectrum 網站上,你可以根據自己的需求設定權重,獲得不同的編程語言排名。

在 IEEE 的默認設置之下,對找工作有利的排行方式獲得了更高的權重。雖然標準的變化讓今年的統計結果和往年有所不同,不過整體看來趨勢還是一樣的:Python 在所有分項目中都名列榜首。Python 如此受到人們歡迎很大程度上是因為存在大量專用的工具庫作為支持,尤其是在人工智能(AI)領域。Keras 是每個進入人工智能、特別是深度學習領域的開發者所熟知的庫:它提供了 TensorFlow、CNTK 和 Theano 深度學習框架的友好界面和工具包。當然,深度學習也不是 Python 的唯一應用方向,而且在 1991 年首次推出時也預料不到會對深度學習產生影響。隨著微控制器上算力的急劇增長,CircuitPython 和 MicroPython 等嵌入式 Python 版本越來越受到製造商們的歡迎。

排在 Python 之後的是 Java、C 語言和 C++,這是一組長期爭奪第二名的語言——儘管 IEEE 調整了指標,這些語言與 Python 之間的差距還是在越拉越大。C++的分數落後於 Python 12.5 分(在所有排名中,第一名的編程語言為 100 分,排在其後的語言以頭名為標準依次遞減)。主要用於數學計算的語言 R 排名來到了第五。儘管 R 語言相比其他對手專業性很高,但由於大數據的應用愈發廣泛,近年來它的流行程度一直在提高。

在前 10 名中,由 MathWorks 開發並用於數值計算的專用語言 Matlab 的出現著實有些出乎預料,但這簡單明瞭地反映了編程語言在硬件工程中的突出地位——特別是那些對通過 MathWorks 的圖形化 Simulink 軟件包運行模擬或創建控制系統的人而言。

在第 10 名以下,還有一些值得一提的語言,其中包括在 11 位的 Arduino 和第 12 位的 HTML/CSS。在此前的統計中,部分人認為它們不應出現在榜單之中:因為不存在這樣的語言,而「Arduino」實際上是某種語言運行的一系列硬件平臺的名稱,而這種語言應該被稱為 Wiring(有時它們也被歸類為 C 語言或 C++的一種)。IEEE 表示,在這方面我們應當以簡單的實用主義為導向:當面對編程問題時,絕大多數 Arduino 的開發者使用諸如「Arduino Code for ......」之類的關鍵詞來進行谷歌搜索——而不是使用其他的方法。通過選擇更為常用的名字,IEEE 讓統計的準確性有所提高,避免了 Arduino 和類似的微控制器上很多內容未被統計的情況。

在 HTML 上,反對意見仍然是:它不是真正的語言,因為它沒有分支或者循環結構。但因為 HTML 和 CSS 在開發者中的流行程度,以及它已經佔據了數以十億計的計算機,任何關於圖靈完整性的學術論點都不是最重要的,標記語言仍然是一種語言。

最後,一些較為古老的語言仍然處於活躍狀態。如已經有 60 多年曆史的 Fortran 仍然排在了第 38 名,這可能是因為原始科學計算語言仍然具有巨大的傳統力量。Fortran 語言仍在發展,最新的 Fortran 標準是在 2018 年末推出的,其中包括和 C 語言互操作性的改進以及對於大規模並行化計算的支持優化。


分享到:


相關文章: