機器之心報道|參與:魔王、杜偉
IEEE 發佈了最新的程式語言排行榜。與 2019 年相比,Python、Java、C 和 C++ 依然分列總榜單前 4,而 JavaScript 取代了 R 語言成了榜單的第 5 名。此外,在趨勢、需求和開源等其他子榜單中,Python 持續領先,Java 和 C 語言同樣表現優異。

近日,IEEE Spectrum 發佈了第七屆程式語言排行榜。Python 再次名列第一,top 5 中的其他幾種語言分別是 Java、C、C++ 和 JavaScript。去年的第五名 R 語言這次排名下滑到第 6,與 JavaScript 調換了位置。
根據介紹,IEEE 2020 程式語言排行榜從 8 個資訊源按照 11 個指標收集資料,進而得到程式語言流行度的整體排名。
資訊源包括:Google Search、Google Trends、Twitter、GitHub、Stack Overflow、Reddit、Hacker News、CareerBuilder 等,涵蓋社交網站、開源程式碼網站和求職網站。
該調查從 GitHub 上收集了 300 多種程式語言,經過篩選後最終留下 55 種。其中包括大多數計算機使用者熟悉的語言(如 Java),老牌程式語言 Cobol 和 Fortran,小眾程式語言 Haskell 等。
IEEE 2020 程式語言排行榜涵蓋 4 種不同的程式語言類型,分別是用於開發網站和應用的語言,用於企業、桌面和科學應用的語言,用於移動設備端的語言以及用於嵌入式環境的語言。
排名類型分為整體排名、趨勢排名、工作、開源、自定義五種。

該排行榜基於不同權重的各個指標得到。如果你對權重有異議,可以在 IEEE 的互動頁面上設置自己想要的權重:

接下來,我們來看 IEEE 2020 程式語言排行榜的具體資料。
top 10 程式語言:Python 四連冠,Java 和 C 語言不容小覷
在該排行榜中,top 10 程式語言的整體排名如下:

去年 IEEE 的默認設置中,對找工作有利的排行方式獲得了更高的權重,而今年的默認排名則對 IEEE 會員的興趣設置了較高的權重。
在這一新設置下,我們仍然可以看到 Python 繼續保持領先地位,其次是 Java 和 C 語言,分列榜單二、三名。與去年相比,前兩名 Python 與 Java 的距離繼續拉大,Python 依然保持強勁的上升勢頭。

IEEE 程式語言排行榜,2019 年和 2020 年的 top 2 分數對比。(上圖為去年的資料,下圖為今年的資料)
此外,Arduino 語言實現顯著提升,排名從去年的 11 名躍升至第 7 名。
對於 Python 排名始終居高不下的原因,有人給出了這樣一種解釋,即它被越來越多地用作教學語言,因此相應指標被過分誇大了。
這與 BASIC 語言的發展歷程有異曲同工之處。20 世紀 80 年代,BASIC 語言非常受歡迎,有專門的書籍、雜誌甚至電臺節目介紹這門語言。但是很少有專業程式設計師使用 BASIC,後來當家用計算機泡沫破裂時,BASIC 語言也不再那麼受歡迎了。
對此觀點出現了以下兩種反駁意見。首先,學生也是使用者。如果只關注專業程式設計師和開發者的使用情況,則可能無法獲得全面客觀的程式語言全景圖;其次,與 BASIC 不同,Python 語言有大量高質量的專用庫,因此在專業領域和機器學習等高關注度領域得到頻繁試用。
此外,與往年不同,今年的程式語言排名情況不可避免地受到 COVID-19 的影響。舉例而言,如果在指標權重中只選擇 Twitter,你會發現 Cobol 語言排在了榜單第 7 位。
這很可能是因為,4 月份新澤西州州長 Phil Murphy 在一次新聞發佈會上表示政府急需能夠使用 COBOL 語言的程式設計師,以幫助修復已經使用了 40 多年的失業保險系統。由此重新引發了人們對 Cobol 這一古老程式語言的關注。

其他排名中,Python 持續屠榜
看完了整體榜單,我們再來看其他排名類型下的程式語言排行。
在趨勢榜單中,Python 仍以絕對優勢展示其強勁的發展勢頭,Java 排名第二,C 語言、C++ 和 Go 分列三四五名。

而工作環境中需求最大的語言仍是 Python,C 語言排名第二,其次是 Java、Go 和 C++。這也是 Go 語言首次進入前十。

在開源項目最受歡迎的程式語言排行中,毫無意外,排名第一的仍是 Python,Java 和 C 語言緊隨其後。

縱觀所有榜單,Python 持續領先,Java 和 C 語言同樣表現優異。
參考連結:
https://spectrum.ieee.org/at-work/tech-careers/top-programming-language-2020
https://spectrum.ieee.org/static/ieee-top-programming-languages-design-methods-and-data-sources-2020
https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2020