今天,IEEE Spectrum 發(fā)布了第五屆頂級編程語言交互排行榜:Python 衛(wèi)冕成功,C++ 異軍突起,雄踞第二,C 語言和 Java 則「退位讓賢」,分據第三和第四。
榜單地址:https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2018
IEEE 的榜單結合 9 個數據來源的 11 個衡量指標(去年的排行榜有 12 個指標,今年少了 Dice job 網站信息,因其關閉了 API),權衡并發(fā)布了 47 種語言的排行榜,少于去年的 48 種。該排行榜允許讀者根據自己的喜好或需求設定權重,如語言趨勢或員工最關注的語言等。讀者可以查看 Trending、Jobs、Open 等不同維度的編程語言排行數據。
讀者可以根據自己的喜好或需求設定權重。
2018 年 IEEE 頂級編程語言交互排行榜和 2017 年排行榜前十名對比圖。
Python 的排名從 2016 年開始就持續(xù)上升,去年順利登頂,僅以 0.3 分的優(yōu)勢超越第二名 C 語言險奪第一。而今年,Python 依然高居榜首,且與第二名拉開差距。但是,今年的第二卻不再是 C 語言,而是 C++ 了。C++ 的異軍突起,使得 C 語言和 Java 都不得不「退位讓賢」,分別降至第三和第四(去年它們分別位至第二和第三)。
為什么 Python 會繼續(xù)獲得程序員的青睞呢?頂級編程語言中的另外兩個變化可能會給出點提示。
首先,Python 現在被視為嵌入式語言。以前,編寫嵌入式應用程序嚴重傾向于編譯語言,以避免在處理能力和內存有限的機器上高速評估代碼的溢出。摩爾定律雖已漸式微,但還未完全消退。很多現代微控制器已有足夠的能力承載 Python 解釋器。以這種方式使用 Python 的一個好處是,它在某些應用程序中,通過交互提示或動態(tài)重新加載腳本來操作附加硬件非常方便。涉足到一個新的領域,只會增長 Python 的人氣。
Python 越來越受歡迎的另一個原因是 R 語言的熱度下降。R 在 2016 年達到頂峰,排名第五,去年跌至第六,今年排名第七。R 是一種專門處理統(tǒng)計和大數據的語言。隨著人們不斷把對大型數據集的興趣轉向其在機器學習上的應用,且由于數據統(tǒng)計和機器學習中高質量 Python 庫的出現,相比更專業(yè)的 R 語言,靈活的 Python 語言變得更有吸引力。
IEEE Spectrum 聚焦未來發(fā)展趨勢,旨在衡量各項指標以找出發(fā)展迅速的語言,可以看到谷歌的 Go 已經從第 7 位上升到第 5 位。但名次上升最快的還是 Scala,從第 15 位上升到第 8 位。Scala 是為了改進 Java 而創(chuàng)建的,所以 Java 名次下降的部分原因可能是 Scala 的上升。
令人驚訝的是,ActionScript 的排名提升非常有限。去年它以 0.0 的排名墊底,幾乎要被淘汰,但今年它以 1.6 分回到了倒數第二。Forth 是嵌入式世界的一匹老馬,但是卻拿了零蛋。這是作者個人最喜歡的語言之一,但如果明年它繼續(xù)拿零分,就要被踢出排行榜了。
那么這一年中發(fā)展最快的編程語言又是哪些呢?和去年一樣,Python 占據榜首,C++ 躍居第二,Java 和 C 排名位置各掉一名。
接下來,我們來看工作環(huán)境中編程語言的使用情況。Python 從去年的第三名躍居第一,Java 從第一名掉落至第三名,C 語言保持不變,而 C++ 依然勢頭強勁,評分增幅達 1.4。
而開源項目鐘愛的編程語言排名如下:
前四名穩(wěn)定不變,而去年的第五名 Swift 掉落至 22 名!
最后來看根據設計自由度衡量出的編程語言排名:
Python 仍然是第一名,Java 從去年的第二名跌至第四,JavaScript 排名未變,但所占比例由 17 年的 88.9 下跌至今年的 82.3。PHP 與 JavaScript 持平,較去年略有上升。
綜合來看,Python 在各個榜單上均穩(wěn)居第一,而 C++ 也不容小覷。