IEEE Spectrum 剛剛發(fā)布了第六屆編程語言排行榜。在新的排名方式下,Python 再次名列第一,而且與第二名的差距正在加大。名列后幾位的分別是 Java、C 語言、C++和 R 語言。
這是 IEEE Spectrum 的第六次年度編程語言排行統(tǒng)計。今年的統(tǒng)計進行了重大改革,一些基礎(chǔ)指標(biāo)進行了重構(gòu),而最終的排行榜也進一步得到了簡化。但其基本理念讓仍然相同:將多個數(shù)據(jù)源的編程語言流行度排名結(jié)合起來,得出目前業(yè)內(nèi)人們關(guān)注度最高的語言。
?
?
這些信息來源包括谷歌搜索、谷歌趨勢、推特、GitHub、Stack Overflow、Reddit、Hacker News、CareerBuilder、IEEE Job Site 和 IEEE Xplore Digital Library。
對于編程語言的統(tǒng)計而言,人們總會面臨兩個主要問題:(1)理論上沒有人可以審查所有程序員正在敲的代碼屬于哪種語言;(2)有些時候,一種語言是另一種的基礎(chǔ),有的時候兩種語言所使用的領(lǐng)域完全沒有相關(guān)性。IEEE 的榜單致力于解決這些問題,呈現(xiàn)出最為準(zhǔn)確的編程語言流行程度排行。統(tǒng)計者們從 8 種信息渠道獲取數(shù)據(jù),并設(shè)定了 11 種排名方式——這些指標(biāo)是過濾語言排名的最優(yōu)方式——然后將所有結(jié)果以不同權(quán)重結(jié)合起來,獲得了最終的排名。當(dāng)然,如果你對于權(quán)重有異議,也可以在 IEEE 的可交互頁面上設(shè)置自己想要的權(quán)重:
?
?
排在 Python 之后的是 Java、C 語言和 C++,這是一組長期爭奪第二名的語言——盡管 IEEE 調(diào)整了指標(biāo),這些語言與 Python 之間的差距還是在越拉越大。C++的分?jǐn)?shù)落后于 Python 12.5 分(在所有排名中,第一名的編程語言為 100 分,排在其后的語言以頭名為標(biāo)準(zhǔn)依次遞減)。主要用于數(shù)學(xué)計算的語言 R 排名來到了第五。盡管 R 語言相比其他對手專業(yè)性很高,但由于大數(shù)據(jù)的應(yīng)用愈發(fā)廣泛,近年來它的流行程度一直在提高。
在前 10 名中,由 MathWorks 開發(fā)并用于數(shù)值計算的專用語言 Matlab 的出現(xiàn)著實有些出乎預(yù)料,但這簡單明了地反映了編程語言在硬件工程中的突出地位——特別是那些對通過 MathWorks 的圖形化 Simulink 軟件包運行模擬或創(chuàng)建控制系統(tǒng)的人而言。
在第 10 名以下,還有一些值得一提的語言,其中包括在 11 位的 Arduino 和第 12 位的 HTML/CSS。在此前的統(tǒng)計中,部分人認(rèn)為它們不應(yīng)出現(xiàn)在榜單之中:因為不存在這樣的語言,而「Arduino」實際上是某種語言運行的一系列硬件平臺的名稱,而這種語言應(yīng)該被稱為 Wiring(有時它們也被歸類為 C 語言或 C++的一種)。IEEE 表示,在這方面我們應(yīng)當(dāng)以簡單的實用主義為導(dǎo)向:當(dāng)面對編程問題時,絕大多數(shù) Arduino 的開發(fā)者使用諸如「Arduino Code for ......」之類的關(guān)鍵詞來進行谷歌搜索——而不是使用其他的方法。通過選擇更為常用的名字,IEEE 讓統(tǒng)計的準(zhǔn)確性有所提高,避免了 Arduino 和類似的微控制器上很多內(nèi)容未被統(tǒng)計的情況。
在 HTML 上,反對意見仍然是:它不是真正的語言,因為它沒有分支或者循環(huán)結(jié)構(gòu)。但因為 HTML 和 CSS 在開發(fā)者中的流行程度,以及它已經(jīng)占據(jù)了數(shù)以十億計的計算機,任何關(guān)于圖靈完整性的學(xué)術(shù)論點都不是最重要的,標(biāo)記語言仍然是一種語言。
最后,一些較為古老的語言仍然處于活躍狀態(tài)。如已經(jīng)有 60 多年歷史的 Fortran 仍然排在了第 38 名,這可能是因為原始科學(xué)計算語言仍然具有巨大的傳統(tǒng)力量。Fortran 語言仍在發(fā)展,最新的 Fortran 標(biāo)準(zhǔn)是在 2018 年末推出的,其中包括和 C 語言互操作性的改進以及對于大規(guī)模并行化計算的支持優(yōu)化。
原文鏈接:
https://spectrum.ieee.org/computing/software/the-top-programming-languages-2019








