作者 Alexander Petkov
編譯 Mika
本文為 CDA 數(shù)據(jù)分析師原創(chuàng)作品,轉(zhuǎn)載需授權(quán)
觀看更多國外公開課,點(diǎn)擊"閱讀原文"
對于在2018年想學(xué)習(xí)編程語言的人來說,本篇文章是值得參考的指南。
需要明確的是,這并不是介紹最熱門的語言,然后拋出各種名稱和流行語。而是根據(jù)2018年IT行業(yè)現(xiàn)狀、趨勢和客觀的預(yù)測。
本文列出了十個在2018年學(xué)習(xí)的編程語言,旨在幫助你選擇適合自己、值得花時間和精力去掌握的語言,并且?guī)椭沩樌_啟開發(fā)人員的職業(yè)生涯。
當(dāng)選擇哪種編程語言時,開發(fā)人員通常會考慮以下四個因素:
· 薪資
· 熱門度
· 市場需求
· 易于學(xué)習(xí)和工作
本文對每種語言將介紹以下內(nèi)容:
· 簡短的介紹。讓你熟悉這門語言適合什么類型的職業(yè),以及其優(yōu)勢所在;
· TIOBE 和 GitHub Octoverse的語言熱門度
· Indeed.com 和 StackOverflow的2017年語言薪酬比較
· 谷歌趨勢。該語言過去五年的需求趨勢
最后,列出的四種語言在過去幾年中迅速流行起來,預(yù)計(jì)2018年的需求將更高。
1. JavaScript
根據(jù)StackOverflow的年度調(diào)查,JavaScript是最熱門的語言,62.5%的受訪者表示在使用JavaScript 。
這無疑是網(wǎng)絡(luò)的主流語言,過去十年里JavaScript的發(fā)展非常迅猛。Stack Overflow的聯(lián)合創(chuàng)始人Jeff Atwood說道:
“任何可以用 JavaScript 編寫的應(yīng)用最終都將用 JavaScript 編寫?!?/em>
考慮到這一點(diǎn),可以肯定的是2018年將不會缺少JavaScript機(jī)會。
JavaScript適用于Angular、React、Ember、Backbone等前端框架以及Node.js運(yùn)行環(huán)境,讓你可以高效地在后端運(yùn)行JavaScript。StackOverflow 2017 年最流行的框架中前四名有三個是基于JavaScript的。
如果你希望立即看到工作成果,比如如制作交互式Web組件,那么JavaScript是一個不錯的選擇。請記住,使用JavaScript意味著你應(yīng)該熟悉HTML和CSS,這是網(wǎng)頁的基本構(gòu)成。
Apache Cordova或React Native等工具允許在移動應(yīng)用中使用JavaScript。甚至可以通過Electron等項(xiàng)目進(jìn)行游戲開發(fā)或桌面應(yīng)用開發(fā)。
熱門度和薪資情況
1. TIOBE 排名: #6 ( 2018.1)
TIOBE排名是編程語言熱門程度的指標(biāo)。
該排名根據(jù)全球?qū)I(yè)工程師、課程、第三方供應(yīng)商和搜索引擎的數(shù)量。
2. GitHub Octoverse: #1
統(tǒng)計(jì)于2017年底統(tǒng)計(jì)。
在GitHub上最流行的語言pull request(單位為百萬)。
GitHub擁有2400萬用戶的開源項(xiàng)目,這些開源項(xiàng)目在6700萬個存儲庫中,由337種不同的編程語言所編寫。
3. Indeed.com 美國薪資 : 中等
Indeed.com是全球就業(yè)求職搜索引擎。目前覆蓋60多個國家和28種語言。
2010年10月,Indeed.com超過Monster.com成為美國訪問量最高的求職網(wǎng)站。
4. StackOverflow 全球薪資: 中等
數(shù)據(jù)來自2017年,超過6.4萬名開發(fā)者參與調(diào)查。
StackOverfllow是最大的開發(fā)者社區(qū),每月訪問量超過5000萬。
自2011年以來,StackOverflow每年都會對開發(fā)者進(jìn)行調(diào)查,詢問他們最喜歡的技術(shù)、代碼和工作習(xí)慣。
流行趨勢
過去5年的流行趨勢: 穩(wěn)步增長
結(jié)論
JavaScript無疑是2018年及以后最流行的語言之一。
由于大多數(shù)受訪者的職位是初級的,因此這種類型的語言薪資很難在排名中高居榜首。不像那些不太熱門的語言,高級職位占比更大。
2. Swift
Swift是蘋果于2014年發(fā)布的一種相對較新的編程語言,用于開發(fā)iOS或MacOS應(yīng)用。
與Objective-C相比,它在可用性和性能方面有所改進(jìn), Objective-C是用于iOS和OS X操作系統(tǒng)的語言。
Swift通常很受開發(fā)者的青睞,在2015年排名第一之后,在2017年最受喜愛的語言排行榜中排名第四。如果你選擇Swift相關(guān)的職業(yè),你很可能會喜歡它。
如果你想進(jìn)入移動開發(fā)領(lǐng)域,Swift是高薪的不錯選擇。通常,iOS應(yīng)用比Android應(yīng)用更賺錢。
熱門度和薪資情況
1. TIOBE 排名: #12
2. GitHub Octoverse: #13
3. Indeed.com 美國薪資: 高
4. StackOverflow 全球薪資: 高于平均水平
流行趨勢
過去5年的流行趨勢:急劇上升
結(jié)論
對于iOS和macOS應(yīng)用來說,比起它的前身Objective-C,Swift是一種更新更好用的語言。
僅僅幾年的時間,Swift的人氣已經(jīng)很高,在大多數(shù)排行榜上已經(jīng)超過Objective-C。這種語言被開發(fā)人員所喜愛,而且薪資很高。
3. Python
Python是一種通用語言,如今幾乎無處不在。你可以在網(wǎng)絡(luò)應(yīng)用、桌面應(yīng)用、網(wǎng)絡(luò)服務(wù)器、機(jī)器學(xué)習(xí)、媒體工具等地方看到它。
NASA、谷歌等大型公司都在使用Python,其中Python創(chuàng)建者Guido van Rossum在谷歌工作的八年,主要都在使用Python。
Python代碼整潔、可讀、結(jié)構(gòu)良好。
Django和Flask等基于Python的Web開發(fā)框架已經(jīng)越來越受歡迎。此外,該語言還配備了高質(zhì)量的機(jī)器學(xué)習(xí)和數(shù)據(jù)分析庫,如Scikit-learn和Pandas。
總體而言,Python的職業(yè)發(fā)展路徑各不相同。對于初學(xué)者開發(fā)人員來說,這是不錯的選擇,因?yàn)樗歉呒壍模子陂喿x和理解。
熱門度和薪資情況:
1. TIOBE 排名: #4
2. GitHub Octoverse: #2
3. Indeed.com 美國薪資: 高
4. StackOverflow 全球薪資: 高
流行趨勢
過去5年的流行趨勢:顯著上升
結(jié)論
Python無疑是當(dāng)今和不久的將來不錯的選擇。這門語言幾乎在各個方面都名列前茅。
4. Java
Java可以說是最受歡迎的編程語言,因?yàn)?0%的財富500強(qiáng)公司都在使用它。Java那句著名的"write once, run anywhere"闡述了Java的價值所在,強(qiáng)大的Java虛擬機(jī)(JVM)讓它做到跨平臺兼容。
Java的熱門職業(yè)是后端開發(fā)人員、大數(shù)據(jù)開發(fā)人員、嵌入式系統(tǒng)工程師以及Android開發(fā)人員。雖然Java并非目前最“流行”的語言,但Java的使用頻率非常高,在未來十年甚至更長時間內(nèi)都是如此。
正因?yàn)槿绱?,你可以確信在你的城市有大量的Java工作職位,本文列舉的許多語言都不具有這里優(yōu)勢。因此,如果你喜歡使用Java,找到合適的工作只是時間問題。
熱門度和薪資情況:
1. TIOBE 排名: #1
2. GitHub Octoverse: #3
3. Indeed.com 美國薪資: 中等
4. StackOverflow 全球薪資: 高于平均水平
流行趨勢
過去5年的流行趨勢:下降
結(jié)論
Java可以說是最受歡迎的編程語言,而且受訪者中工作職位多樣,使得Java在工資排名中非常高。
5. C ++
C ++是高效且靈活的語言,于1985年創(chuàng)建。由于其性能、可靠性以及能夠在各種環(huán)境下使用, C++的市場需求很大。
許多大型系統(tǒng)已經(jīng)使用C ++創(chuàng)建和維護(hù),包括Microsoft,Oracle,PayPal和Adobe等。
使用C ++通常包括開發(fā)桌面應(yīng)用,尤其是性能密集型任務(wù)。雖然該語言相當(dāng)復(fù)雜,但通過熟悉C++你會更深入地理解語言是如何工作的,例如為低內(nèi)存操作提供工具。
熱門度和薪資情況:
1. TIOBE 排名: #3
2. GitHub Octoverse: #6
3. Indeed.com 美國薪資: 高
4. StackOverflow 全球薪資: 高
流行趨勢
過去5年的流行趨勢:起伏不定
結(jié)論
C++是非常流行的語言,如果你花時間去掌握它,那么工作的選擇面會很大,而且工資通常高于平均水平。
6. Ruby
Ruby是最受歡迎的編程語言之一。Ruby易于開發(fā)人員使用,標(biāo)語是“ 程序員最好的朋友”。
Ruby是一種高級語言,旨在通過幾行干凈、可讀的代碼實(shí)現(xiàn)很多功能。這需要花費(fèi)大量精力,因此與其他語言相比,Ruby在效率方面相對較慢, 但它肯定會提高你的工作效率。
寫得很好的Ruby代碼看起來就像用英文句子。對于初學(xué)者來說,這是很好的選擇。
Ruby主要用于其最流行的框架Ruby on Rails。Ruby on Rails是一個Web框架,它將Ruby的所有想法封裝為強(qiáng)大的Web工具。Rails的巨大生產(chǎn)力讓其成為創(chuàng)業(yè)公司的共同選擇。
選擇Ruby on Rails絕對是一個不錯的選擇,因?yàn)樵摽蚣芤子谑褂?,而且收入很高。唯一缺點(diǎn)在于,比起前面提到的語言Ruby不是太該受歡迎。因此,在尋找使用Ruby的職位時會有一定限制。
熱門度和薪資情況:
1. TIOBE 排名: #11
2. GitHub Octoverse: #4
3. Indeed.com 美國薪資: 高
4. StackOverflow 全球薪資: 高
流行趨勢
過去5年的流行趨勢:下降
結(jié)論
Ruby是不錯的選擇,因?yàn)樾匠曦S厚,而且語言本身也很有趣。
唯一的缺點(diǎn)是Ruby不像其他語言那樣受歡迎,找工作時可能會有一定局限性。但注意,Ruby(以及Ruby on Rails)常常是那些經(jīng)常采用遠(yuǎn)程辦公的創(chuàng)業(yè)公司的首選。
7. Rust
Rust由Mozilla基金會贊助,在StackOverflow年度調(diào)查中連續(xù)第二年被開發(fā)人員評為最受歡迎的語言。這是一種相對較新的語言,首次出現(xiàn)在2010年,如今已經(jīng)較為流行,預(yù)計(jì)將來還會進(jìn)一步提高。
Rust是一種編譯型語言,在用例和性能方面經(jīng)常與C進(jìn)行比較。主要區(qū)別在于Rust是內(nèi)存安全的。在C代碼中最常見的錯誤有懸掛指針(dangling pointers),緩沖區(qū)溢出(buffer overflows)或者內(nèi)存錯誤。Rust是為了避免這些而創(chuàng)建的,從而讓你在編寫時(在代碼運(yùn)行前)不可能犯這類錯誤。
由于需要掌握各種規(guī)則來實(shí)現(xiàn)記憶安全性,對于初學(xué)者來說學(xué)習(xí)Rust有一定難度。然而,有經(jīng)驗(yàn)的開發(fā)人員喜歡使用Rust,而且在未來幾年會有很高的市場需求。
薪資方面,根究StackOverflow的2017年調(diào)查,Rust薪資較高,全球排名第二。
選擇Rust的另一個理由是,該語言是由IT領(lǐng)域家喻戶曉的Mozilla開發(fā)的。
過去5年的流行趨勢:上升
8. Elixir
Elixir是另一種新語言,首次出現(xiàn)于2011年,接著很快流行起來。
Elixir受到Erlang的啟發(fā),Erlang是愛立信在1980年代開發(fā)的一種語言,這是用于高度并發(fā)性的最佳工具之一。Elixir的開發(fā)者JoséValim表示,他特別喜歡Erlang,但也看到了一些改進(jìn)余地。對于開發(fā)者來說,Erlang最大缺點(diǎn)是語法古怪,缺乏直觀的包管理。
因此,Elixir出現(xiàn)了。這將Ruby的易于使用和生態(tài)系統(tǒng)與Erlang相結(jié)合。
Elixir主要用于網(wǎng)絡(luò)開發(fā),收入較高,但職位選擇有限。該語言越來越流行,因此如果你所在的城市有各種各樣的IT公司,Elixir開發(fā)者可能會受到追捧。
薪資方面,根據(jù)StackOverflow 2017年調(diào)查,在全球薪資中排名第三。
過去5年的流行趨勢:上升
9. Scala
Scala的名稱來自于"Scalable Language(可伸縮性語言)"。Scala代碼在Java虛擬機(jī)(JVM)上運(yùn)行。
LinkedIn、Twitter和The Guardian等大型公司都在其代碼庫中使用 Scala,因此可見Scala很流行。
對于初級開發(fā)者來說,Scala較復(fù)雜。但是適應(yīng)了該語言的人會有較好的職業(yè)發(fā)展,因?yàn)镾cala開發(fā)人員的職位選擇將越來越多。
薪資方面,根據(jù)StackOverflow的2017年調(diào)查,Scala在全球薪資中排名第十,并在美國居第一位。
過去5年的流行趨勢:上升
10. R語言
R是一種編程語言,用于統(tǒng)計(jì)、圖形表示和數(shù)據(jù)分析。R語言是數(shù)據(jù)科學(xué)家的首選。如果你對數(shù)據(jù)科學(xué)領(lǐng)域感興趣,那么R對你來說是不錯的選擇。
過去5年的流行趨勢:穩(wěn)步上升
原文鏈接:
https://medium.freecodecamp.org/best-programming-languages-to-learn-in-2018-ultimate-guide-bfc93e615b35
聯(lián)系客服