原創(chuàng)|行業(yè)資訊|編輯:郝浩|2017-10-13 14:43:33.000|閱讀 912 次
概述:今年,Java仍然是雇主們最需求的編程語言。和去年一樣,JavaScript繼續(xù)統(tǒng)治著程序員最常用的語言列表。但是,隨著流行的框架和物聯(lián)網(wǎng)(IoT)這一類技術(shù)趨勢(shì)的發(fā)展,某些專業(yè)語言的知名度得到了很大提高,而所謂的“函數(shù)式語言”也吸引了越來越多人的興趣。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
科技不斷進(jìn)步,隨著時(shí)間的推移,各種編程語言受歡迎程度也在不斷的發(fā)生著改變。這就是為什么人們會(huì)對(duì)討論這一類盤點(diǎn)編程語言受歡迎程度話題樂此不彼,通過盤點(diǎn)整理,人們會(huì)留意到新的發(fā)展趨勢(shì),可以發(fā)現(xiàn)從工作列表到開發(fā)人員論壇活動(dòng)等各種度量標(biāo)準(zhǔn)和資源。
今年,Java仍然是雇主們最需求的編程語言。和去年一樣,JavaScript繼續(xù)統(tǒng)治著程序員最常用的語言列表。但是,隨著流行的框架和物聯(lián)網(wǎng)(IoT)這一類技術(shù)趨勢(shì)的發(fā)展,某些專業(yè)語言的知名度得到了很大提高,而所謂的“函數(shù)式語言”也吸引了越來越多人的興趣。
這些趨勢(shì)背后的另一個(gè)驅(qū)動(dòng)力是微服務(wù)體系結(jié)構(gòu)的不斷采用。“在八年前,流行的是整體項(xiàng)目。”New Relic APM公司的產(chǎn)品經(jīng)理Neha Duggal如此談到。“現(xiàn)在人們轉(zhuǎn)向微服務(wù),將應(yīng)用程序的概念分解成可管理的部分。”這激發(fā)了人們對(duì)許多不同編程語言的興趣,包括在Java虛擬機(jī)(JVM)上運(yùn)行的Scala、Kotlin和Apache Groovy等新語言。Neha說,微服務(wù)通常使用異步通信,而新語言通常比Java更善于處理這種通信。隨著可讓你使用任何基于jvm語言的Eclipse Vert等框架越來越受歡迎,這一趨勢(shì)將進(jìn)一步加強(qiáng)。
為了考察這一點(diǎn),讓我們來仔細(xì)看看雇主目前正在網(wǎng)站上尋找的編程語言技能。我們統(tǒng)計(jì)了從2016年7月到2017年6月求職網(wǎng)站Indeed上關(guān)于軟件開發(fā)崗位上最常出現(xiàn)的語言技能,以及2017年6月Dice和CareerBuilder求職網(wǎng)站上IEEE Spectrum發(fā)布的語言需求列表,結(jié)果如下所示:
Java在這兩張表上都排在首位,“年復(fù)一年,Java仍然是最受歡迎的編程語言”Indeed公司高級(jí)副總裁Doug Gray說。“這并不奇怪,因?yàn)镴ava非常穩(wěn)定,而且伸縮自如,這對(duì)于大公司來說尤其重要。”
事實(shí)上兩張列表非常相似,只有一些小的出入——.NET, SQL, Node.js, Swift和一些C語言的變體。但即使是這些微小的差異,也能夠反映出由于定位和方法的區(qū)別,結(jié)果會(huì)有所不同。Node.js沒有出現(xiàn)在IEEE列表里中,可能是因?yàn)镴avaScript運(yùn)行框架包含在JavaScript中;SQL位于Indeed列表的第6位,而在IEEE列表上它處于第16位,這大概是因?yàn)樵贗EEE中它被分為了Web和Mobile兩類。(IEEE的排名讓你可以通過各種過濾器來排序)。此外,有些人可能會(huì)說,JavaScript與其說是編程語言,不如說是腳本語言。
同樣值得注意的是,2017年的榜單中包括了去年十大雇主要求的語言中的8種,這表明編程工作需求相對(duì)穩(wěn)定。關(guān)于Node.js受歡迎程度的提升的原因,這也可以解釋為什么JavaScript的受歡迎度從去年的第四名躍升到目前的第二名,那就是JavaScript運(yùn)行框架在去年開始被廣泛應(yīng)用于包括物聯(lián)網(wǎng)在內(nèi)的多個(gè)領(lǐng)域,它也成為了今年Stack Overflow開發(fā)者調(diào)查所使用的最常用的框架。同樣的,Indeed列表中的.NET躍居到了第三的位置,那是因?yàn)樗菑腃和C++中分割出來的單獨(dú)條目,而在去年的榜單上C#、C++和C都是前10名。
雖然看起來前10名語言的地位非常穩(wěn)固,但這并不意味著就不會(huì)產(chǎn)生一些新的變化了。“隨著物聯(lián)網(wǎng)和機(jī)器學(xué)習(xí)的融合,R和Python正在興起。”開發(fā)社區(qū)提供商DZone.com的市場(chǎng)總監(jiān)Kellet Atkinson說。“‘大數(shù)據(jù)’是我們求職板報(bào)上出現(xiàn)頻率最高的搜索詞,而Python則是組成其最熱門的五種語言之一。”在IEEE的排名中,Python語言的發(fā)展速度最快,而R語言的發(fā)展速度排行第8。
為了了解開發(fā)人員在使用方面最感興趣的語言,我們來看看RedMonk的編程語言排名,它的數(shù)據(jù)結(jié)合了GitHub的代碼提取和Stack Overflow的討論。此外,Stack Overflow對(duì)開發(fā)人員實(shí)際使用的語言進(jìn)行了自己的開發(fā)調(diào)查:
這列表是否似曾相識(shí)?開發(fā)人員所使用的語言與雇主正在所尋找的相匹配,這是有一定道理的。(有一個(gè)例外,TypeScript出現(xiàn)在了Stack Overflow的列表中,由于它被編譯為JavaScript,所以它被包含在其它排名第一的JavaScript中)
也許,更有趣的是開發(fā)人員真正喜歡的語言。根據(jù)New Relic的首席軟件工程師Todd West的說法,工程師們傾向于優(yōu)先學(xué)習(xí)他們首先學(xué)習(xí)的語言,以及那些容易使用和提供尖端創(chuàng)新和快速性能的語言。Stack Overflow發(fā)不了對(duì)最受喜愛(most-loved),最想學(xué)習(xí)(most-wanted)和最令人害怕(most-dreaded)語言的統(tǒng)計(jì)結(jié)果:
很顯然,開發(fā)人員不僅經(jīng)常使用JavaScript / TypeScript、Python和C#,而且實(shí)際上也喜歡它們。至于Rust,也許開發(fā)人員喜歡系統(tǒng)編程語言的速度,預(yù)防segfault的能力以及能保證線程安全。(對(duì)于為什么1980年的Smalltalk仍然如此受人喜愛,我們沒有什么可說的。)
作為coding bootcamp集團(tuán)的首席執(zhí)行官,Roshan Choxi很關(guān)注開發(fā)者在論壇上談?wù)摰膬?nèi)容,比如黑客新聞和Reddit的r/編程以及初學(xué)者們感興趣的內(nèi)容。他說,“過去一年的新趨勢(shì)是函數(shù)式編程的影響力越來越大。”他指的是Haskell、Erlang、Elixir、Elm和Clojure等語言。(其中一些選擇出現(xiàn)在上面的列表中。)
“這似乎是開發(fā)人員今天面臨的并發(fā)性、狀態(tài)管理和可靠性等諸多常見問題的一個(gè)答案,JavaScript可能與此有關(guān)。”Roshan解釋道。“雖然它并不是一種功能語言,但它確實(shí)強(qiáng)調(diào)了功能的第一性,并且有一些流行的項(xiàng)目支持將函數(shù)式編程特性引入到JavaScript代碼中,Redux介紹了消息傳遞的概念,TypeScript允許您插入靜態(tài)類型,這兩者在函數(shù)語言中都很常見。”
我們?nèi)ツ臧l(fā)現(xiàn)的另一個(gè)趨勢(shì)依舊在延續(xù):使用超過一種的語言進(jìn)行協(xié)同合作。多語言程序員和/或組織為了不同的目的利用不同的語言。“我們看到越來越多地組織在他們的生態(tài)系統(tǒng)中使用不止一種語言。”New Relic的Neha Duggal說。“你可能會(huì)有編寫微服務(wù)的不同團(tuán)隊(duì),每個(gè)團(tuán)隊(duì)都可以選擇一種他們?cè)敢馐褂玫恼Z言。”
DZone的Kellet Atkinson也注意到了同樣的事情:“隨著向DevOps的推進(jìn),‘全棧開發(fā)人員’的想法已經(jīng)有了很大的發(fā)展,他們知道多種語言。”DZone幾個(gè)月前推出了一個(gè)工作委員會(huì),他補(bǔ)充說,“很多工作都要求有全面的開發(fā)人員,而且我們的很多人都傾向于考慮自己成為全棧的開發(fā)人員。”
乍一看,在過去的一年里,編程語言的世界似乎沒有什么變化。但是,不要被堅(jiān)挺在榜單前面的主流語言所迷惑,事實(shí)上,更新的語言和不斷變化的趨勢(shì)正在顯著地影響程序員個(gè)體和軟件開發(fā)團(tuán)隊(duì)的選擇。
因此,盡管熟練使用Java、JavaScript、.NET、Python、各種C、Ruby、PHP、HTML和CSS仍然是安全的選擇,有遠(yuǎn)見的開發(fā)人員可能還希望熟悉Haskell、Erlang、Elixir、Elm和Clojure等新的競(jìng)爭(zhēng)者。展望未來,了解不止一種語言似乎會(huì)變得越來越有價(jià)值,因?yàn)樵絹碓蕉嗟墓椭鲿?huì)尋找那些在全堆棧中輕松工作的開發(fā)人員。
本文翻譯自,譯者:慧都控件網(wǎng)-回憶和感動(dòng)
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn