程序員、加班、工資、編程語言、框架、工具這幾個(gè)詞語經(jīng)常同框出現(xiàn),各大調(diào)研分析機(jī)構(gòu)更是對挖掘這其中的關(guān)系樂此不疲。在2017年的前三季度,各大針對編程語言和程序員的排行榜單數(shù)不勝數(shù),彼此之間難免有所差異(數(shù)據(jù)來源及評估標(biāo)準(zhǔn)不同),筆者對前三季度各大編程語言榜單進(jìn)行了匯總,快來看看這些榜單都傳達(dá)了哪些信息吧。
Java的強(qiáng)大:無論評選指標(biāo),穩(wěn)穩(wěn)占據(jù)各大榜單編程語言前三名!
筆者綜合了IEEE Spectrum 、TIOBE、JetBrains、IntelliJ IDE和制造商聯(lián)合發(fā)布的開發(fā)者生態(tài)調(diào)查報(bào)告、Stackoverflow、Packt的《2017年程序員技能和薪資報(bào)告》以及IT168企業(yè)級在社交平臺針對程序員發(fā)起的調(diào)查數(shù)據(jù),這些榜單的評分標(biāo)準(zhǔn)和涉及人群(主要針對各自平臺的程序員以及不同搜索引擎的關(guān)鍵字搜索頻率)均有差異,但Java無疑是最大的贏家,任何一張榜單都穩(wěn)穩(wěn)占據(jù)著編程語言前三名的位置。
眾所周知,TIOBE榜單的結(jié)果更傾向于受歡迎的編程語言評選,主要綜合了各大搜索引擎的數(shù)據(jù)。TIOBE近一年的榜單基本沒什么變化,Java、C、C++是不變的前三名,即便Java已從一月份的17.278%下降至12.431%,但還是比其他編程語言的排名高出許多。未來一年,Java的位置可能還會(huì)如此穩(wěn)固。
在今年3月份StackOverFlow發(fā)布的調(diào)查中,Java以39.7%的票數(shù)在程序員最常用的編程語言中排名第三,而JavaScript以62.5%的票數(shù)高居榜首。
在今年7月份由Packt發(fā)布的《2017年程序員技能和薪資報(bào)告》結(jié)果顯示,Python、Git、Visual Studio IDE、Eclipse IDE、Java分類前五名,而Java是前五名中除Python之外的第二大編程語言。
同月,IEEE Spectrum 排行中,Java位列第三位,但從該排行給出的分?jǐn)?shù)來看,java的99.4與前兩名Python(100)、C(99.7)相差不是很大。
不久后,JetBrains,IntelliJ IDE和制造商聯(lián)合發(fā)布了一項(xiàng)開發(fā)者生態(tài)大調(diào)查結(jié)果。據(jù)悉,這項(xiàng)調(diào)查自2016年底開始,共調(diào)查了超5000名程序員,評選出了14大主流編程語言。其中,Java以26%的票數(shù)穩(wěn)居首位。
筆者今年曾在社交平臺上發(fā)起針對2017年最值得學(xué)習(xí)的編程語言榜單調(diào)查,國內(nèi)數(shù)千名程序員參與調(diào)查,最終Java以40%的票數(shù)獲得了第一名。
可見,無論是受歡迎程度、常用性還是價(jià)值,Java都獲得了大多數(shù)程序員的認(rèn)可。雖然今年以來,有不少關(guān)于Kotlin與Java之間的爭論,但即便谷歌大幅推進(jìn)Kotlin,Java受到了一些版本更新推遲、新功能不被看好的影響,但還是編程語言中的佼佼者。
輿論熱點(diǎn)——Python、Kotlin、Go語言發(fā)展如何?
由于人工智能的興起,Python再度成為輿論焦點(diǎn)。雖然在各大榜單中的排名變化較大,但基本都是前五名之內(nèi),由于其易用性和學(xué)習(xí)曲線較短的特點(diǎn),很多程序員傾向于將Python作為第二編程語言學(xué)習(xí)。但也由于這些特點(diǎn),全球范圍內(nèi)的Python程序員薪資基本都維持在中等偏下的水平。
雖然很少能在編程語言排行榜(除了新銳榜)前幾名的位置上看到Kotlin的身影,但在Android應(yīng)用程序開發(fā)領(lǐng)域,Kotlin已經(jīng)和Java交戰(zhàn)多時(shí)。作為谷歌官推編程語言,Kotlin上升勢頭十分迅猛。在近日發(fā)布的Realm Report中,實(shí)時(shí)移動(dòng)平臺提供商Realm指出,過去幾個(gè)月內(nèi),使用Java構(gòu)建的Android應(yīng)用程序數(shù)量減少,而使用Kotlin的則增長了125%。這不由得讓人想起曾經(jīng)的Swift和Objective-C之戰(zhàn),Java在移動(dòng)開發(fā)領(lǐng)域的位置可能會(huì)在未來有所變化。
作為2016年TIOBE年度編程語言,Go語言今年顯得十分低調(diào)。無論是榜單排名還是受歡迎程度,基本都與去年持平。但在年初StackOverFlow發(fā)布的報(bào)告中,使用Go語言的程序員薪資還是非常不錯(cuò)的。
薪資排行榜,什么語言和什么領(lǐng)域“最貴”?
年初的StackOverFlow的調(diào)查報(bào)告中,對全球范圍內(nèi)的編程語言以及不同類型程序員的薪資進(jìn)行了全面調(diào)查,筆者這里就不再贅述了,直接上圖:
根據(jù)Packt發(fā)布的調(diào)查結(jié)果來看,情況基本是吻合的:
近幾年的薪資熱門,早已不再是簡單的程序員,而是與大數(shù)據(jù)、人工智能方向相關(guān)的程序員,這與目前市場趨勢完美契合,并且這種現(xiàn)狀短期內(nèi)改變的可能性不大。
編程語言中的“童子軍”:傾向于解決特定問題
今年以來,編程語言世界加入了不少新面孔,雖然目前尚未在各大排行榜中展露頭角,但在特定場景和領(lǐng)域內(nèi)深受歡迎。
Simplicity-針對加密貨幣和區(qū)塊鏈
Simplicity是一種類型化組合語言,被設(shè)計(jì)為執(zhí)行智能合約的低級語言,不適用于程序員直接編寫,可部署在新的區(qū)塊鏈應(yīng)用中,包括sidechain和比特幣。目前仍處于研發(fā)階段。
Tisp--新的函數(shù)式編程語言
據(jù)文檔顯示,Tisp是一種具有隱式并行性和并發(fā)性的功能編程語言,它的目的是簡單,規(guī)范和實(shí)用。Tisp評估程序每個(gè)輸出(如打印字符串并向客戶端發(fā)送HTTP響應(yīng))的并行并發(fā)。綜合了Haskell、Clojure、OCaml、Python和Go五種編程語言的優(yōu)勢。
Red——號稱下一代編程語言
準(zhǔn)確地說,Red更像是一種“語言建構(gòu)”,而不僅僅是“一種語言”。受到了REBOL的啟發(fā),Red的目標(biāo)是建立世界上第一個(gè)完整堆棧語言,一種可以從系統(tǒng)編程任務(wù)到DSL高級腳本中使用的語言。