史上最受歡迎的編程語(yǔ)言:Java竟敗給了它?
C語(yǔ)言占據(jù)榜首,但大數(shù)據(jù)類是最大贏家。
IEEE Spectrum的第三次“最受歡迎編程語(yǔ)言”交互式排行榜新鮮出爐。因?yàn)椴豢赡茴櫦暗矫恳粋€(gè)程序員的想法,Spectrum使用多樣化、可交互的的指標(biāo)權(quán)重來評(píng)測(cè)每一種語(yǔ)言的現(xiàn)行使用情況。
數(shù)據(jù)記者Nick Diakopoulos從10個(gè)線上資源中選取了12個(gè)指標(biāo),這其中的每一個(gè)都能反映某一種編程語(yǔ)言在某一方面的受歡迎程度,加權(quán)這些指標(biāo)就能得出一個(gè)排名。
何為“交互式”排名?
因?yàn)槲覀兠總€(gè)人都可能會(huì)看重不同的東西,比如大眾最熱衷在開源代碼中使用什么語(yǔ)言?哪種語(yǔ)言的客戶需求量最大?Spectrum的“交互式編程語(yǔ)言排行”讓用戶可以根據(jù)自己的喜好調(diào)整不同評(píng)價(jià)指標(biāo)所占的權(quán)重,從而得到所需的排名。
用戶還能根據(jù)自己的需要過濾榜單中的結(jié)果,例如我們可以選擇只顯示用于嵌入式系統(tǒng)和移動(dòng)終端的語(yǔ)言。當(dāng)然,用戶既可以定制榜單中的每一項(xiàng)權(quán)重,也可以使用榜單預(yù)設(shè)的評(píng)價(jià)方案。
榜單中的默認(rèn)預(yù)設(shè)是根據(jù)IEEE成員的平均興趣權(quán)重來設(shè)定的,那么2016年Spectrum評(píng)選出的排名前十的編程語(yǔ)言都有哪些呢
在連續(xù)兩年屈居亞軍后,C語(yǔ)言終于替代了Java榜首的位置。放眼前五名,Python和C 在3、4名上互換了位置,C#跌出前五,其位置由近幾年上升勢(shì)頭迅猛的R語(yǔ)言所取代。近年來,包括R在內(nèi)的大數(shù)據(jù)類編程語(yǔ)言總體呈現(xiàn)出一種上升趨勢(shì)。
谷歌和蘋果在榜單上同樣你追我趕,最新的榜單顯示谷歌的Go語(yǔ)言擊敗了蘋果的Swift并殺入前十,但swift的上升同樣不容小覷,其今年排到了第11位,相比于去年上升了5個(gè)排名。值得一提的是,去年曾有若干新興編程語(yǔ)言和Swift一起初涉榜單,但今年卻不見了它們的蹤影。
其他引人矚目的變化包括Ladder Logic,它從去年的39名上升到了今年的34名。LadderLogic用于PLC(可編程邏輯控制器),尤其是在工廠中的PLC上應(yīng)用較廣。通常人們認(rèn)為編程語(yǔ)言在制造業(yè)中無(wú)利可圖,然而Ladder Logic的成功揭示了編程語(yǔ)言在制造業(yè)應(yīng)用中的巨大商機(jī)。
另外HTML仍然流行,今年排名上升到了第16位,之前有用戶甚至還在擔(dān)憂其是否能入選榜單(為準(zhǔn)確起見,我們秉承著實(shí)用至上的原則,并且將編程語(yǔ)言定義為一種給計(jì)算機(jī)下指令的特殊語(yǔ)法——就算這種語(yǔ)法只是用于數(shù)據(jù)的結(jié)構(gòu)化——我們并不要求編程語(yǔ)言是圖靈完備的)。
在退步名單里,最出人意料的當(dāng)屬Shell的衰落(Shell是一種統(tǒng)稱,指對(duì)腳本的直接創(chuàng)造,通常為系統(tǒng)管理員所鐘愛,常見的有bash shell等),其下降了7個(gè)名次落到了第19位。這種趨勢(shì)或許反映了用于云端數(shù)據(jù)中心的復(fù)雜系統(tǒng)的發(fā)展壯大,但現(xiàn)在我們還不能妄下結(jié)論,我們還需要觀察下一年的排名來確定這種趨勢(shì)是否會(huì)持續(xù),抑或僅是一種統(tǒng)計(jì)學(xué)上的偶然結(jié)果。
注:
IEEE Spectrum:一本IEEE(美國(guó)電氣電子工程師學(xué)會(huì))出版的旗艦雜志,其中文版名為《科技縱覽》,旨在探討未來技術(shù)發(fā)展趨勢(shì)及其對(duì)社會(huì)和商業(yè)的影響,主要內(nèi)容為報(bào)道國(guó)際航空航天、計(jì)算機(jī)和電信、生物醫(yī)學(xué)工程、能源和消費(fèi)電子等領(lǐng)域的最新技術(shù)進(jìn)展和成果。
PLC:可編程邏輯控制器,是一種采用一類可編程的存儲(chǔ)器,用于其內(nèi)部存儲(chǔ)程序,執(zhí)行邏輯運(yùn)算、順序控制、定時(shí)、計(jì)數(shù)與算術(shù)操作等面向用戶的指令,并通過數(shù)字或模擬式輸入/輸出控制各種類型的機(jī)械或生產(chǎn)過程。
圖靈完備:Turing Completeness,一切可計(jì)算的問題都能計(jì)算,這樣的虛擬機(jī)或者編程語(yǔ)言就叫圖靈完備的。