
盤點丨2018年最適合學(xué)習(xí)的編程語言
對于在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ù)計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 編寫?!?
考慮到這一點,可以肯定的是2018年將不會缺少JavaScript機會。
JavaScript適用于Angular、React、Ember、Backbone等前端框架以及Node.js運行環(huán)境,讓你可以高效地在后端運行JavaScript。StackOverflow 2017 年最流行的框架中前四名有三個是基于JavaScript的。
如果你希望立即看到工作成果,比如如制作交互式Web組件,那么JavaScript是一個不錯的選擇。請記住,使用JavaScript意味著你應(yīng)該熟悉HTML和CSS,這是網(wǎng)頁的基本構(gòu)成。
Apache Cordova或React Native等工具允許在移動應(yīng)用中使用JavaScript。甚至可以通過Electron等項目進行游戲開發(fā)或桌面應(yīng)用開發(fā)。
熱門度和薪資情況
1. TIOBE 排名: #6 ( 2018.1)
TIOBE排名是編程語言熱門程度的指標。
該排名根據(jù)全球?qū)I(yè)工程師、課程、第三方供應(yīng)商和搜索引擎的數(shù)量。
2. GitHub Octoverse: #1
統(tǒng)計于2017年底統(tǒng)計。
在GitHub上最流行的語言pull request(單位為百萬)。
GitHub擁有2400萬用戶的開源項目,這些開源項目在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ā)者進行調(diào)查,詢問他們最喜歡的技術(shù)、代碼和工作習(xí)慣。
流行趨勢
過去5年的流行趨勢:穩(wěn)步增長
結(jié)論
JavaScript無疑是2018年及以后最流行的語言之一。
由于大多數(shù)受訪者的職位是初級的,因此這種類型的語言薪資很難在排名中高居榜首。不像那些不太熱門的語言,高級職位占比更大。
2. Swift
Swift是蘋果于2014年發(fā)布的一種相對較新的編程語言,用于開發(fā)iOS或MacOS應(yīng)用。
與Objective-C相比,它在可用性和性能方面有所改進, Objective-C是用于iOS和OS X操作系統(tǒng)的語言。
Swift通常很受開發(fā)者的青睞,在2015年排名第一之后,在2017年最受喜愛的語言排行榜中排名第四。如果你選擇Swift相關(guān)的職業(yè),你很可能會喜歡它。
如果你想進入移動開發(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ù)器、機器學(xué)習(xí)、媒體工具等地方看到它。
NASA、谷歌等大型公司都在使用Python,其中Python創(chuàng)建者Guido van Rossum在谷歌工作的八年,主要都在使用Python。
Python代碼整潔、可讀、結(jié)構(gòu)良好。
Django和Flask等基于Python的Web開發(fā)框架已經(jīng)越來越受歡迎。此外,該語言還配備了高質(zhì)量的機器學(xué)習(xí)和數(shù)據(jù)分析庫,如Scikit-learn和Pandas。
總體而言,Python的職業(yè)發(fā)展路徑各不相同。對于初學(xué)者開發(fā)人員來說,這是不錯的選擇,因為它是高級的,易于閱讀和理解。
熱門度和薪資情況:
1. TIOBE 排名: #4
2. GitHub Octoverse: #2
3. Indeed.com 美國薪資: 高
4. StackOverflow 全球薪資: 高
流行趨勢
過去5年的流行趨勢:顯著上升
結(jié)論
Python無疑是當(dāng)今和不久的將來不錯的選擇。這門語言幾乎在各個方面都名列前茅。
4. Java
Java可以說是最受歡迎的編程語言,因為90%的財富500強公司都在使用它。Java那句著名的"write once, run anywhere"闡述了Java的價值所在,強大的Java虛擬機(JVM)讓它做到跨平臺兼容。
Java的熱門職業(yè)是后端開發(fā)人員、大數(shù)據(jù)開發(fā)人員、嵌入式系統(tǒng)工程師以及Android開發(fā)人員。雖然Java并非目前最“流行”的語言,但Java的使用頻率非常高,在未來十年甚至更長時間內(nèi)都是如此。
正因為如此,你可以確信在你的城市有大量的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)建和維護,包括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ā)人員使用,標語是“ 程序員最好的朋友”。
Ruby是一種高級語言,旨在通過幾行干凈、可讀的代碼實現(xiàn)很多功能。這需要花費大量精力,因此與其他語言相比,Ruby在效率方面相對較慢, 但它肯定會提高你的工作效率。
寫得很好的Ruby代碼看起來就像用英文句子。對于初學(xué)者來說,這是很好的選擇。
Ruby主要用于其最流行的框架Ruby on Rails。Ruby on Rails是一個Web框架,它將Ruby的所有想法封裝為強大的Web工具。Rails的巨大生產(chǎn)力讓其成為創(chuàng)業(yè)公司的共同選擇。
選擇Ruby on Rails絕對是一個不錯的選擇,因為該框架易于使用,而且收入很高。唯一缺點在于,比起前面提到的語言Ruby不是太該受歡迎。因此,在尋找使用Ruby的職位時會有一定限制。
熱門度和薪資情況:
1. TIOBE 排名: #11
2. GitHub Octoverse: #4
3. Indeed.com 美國薪資: 高
4. StackOverflow 全球薪資: 高
流行趨勢
過去5年的流行趨勢:下降
結(jié)論
Ruby是不錯的選擇,因為薪酬豐厚,而且語言本身也很有趣。
唯一的缺點是Ruby不像其他語言那樣受歡迎,找工作時可能會有一定局限性。但注意,Ruby(以及Ruby on Rails)常常是那些經(jīng)常采用遠程辦公的創(chuàng)業(yè)公司的首選。
7. Rust
Rust由Mozilla基金會贊助,在StackOverflow年度調(diào)查中連續(xù)第二年被開發(fā)人員評為最受歡迎的語言。這是一種相對較新的語言,首次出現(xiàn)在2010年,如今已經(jīng)較為流行,預(yù)計將來還會進一步提高。
Rust是一種編譯型語言,在用例和性能方面經(jīng)常與C進行比較。主要區(qū)別在于Rust是內(nèi)存安全的。在C代碼中最常見的錯誤有懸掛指針(dangling pointers),緩沖區(qū)溢出(buffer overflows)或者內(nèi)存錯誤。Rust是為了避免這些而創(chuàng)建的,從而讓你在編寫時(在代碼運行前)不可能犯這類錯誤。
由于需要掌握各種規(guī)則來實現(xiàn)記憶安全性,對于初學(xué)者來說學(xué)習(xí)Rust有一定難度。然而,有經(jīng)驗的開發(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,但也看到了一些改進余地。對于開發(fā)者來說,Erlang最大缺點是語法古怪,缺乏直觀的包管理。
因此,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. Scal
Scala的名稱來自于"Scalable Language(可伸縮性語言)"。Scala代碼在Java虛擬機(JVM)上運行。
LinkedIn、Twitter和The Guardian等大型公司都在其代碼庫中使用 Scala,因此可見Scala很流行。
對于初級開發(fā)者來說,Scala較復(fù)雜。但是適應(yīng)了該語言的人會有較好的職業(yè)發(fā)展,因為Scala開發(fā)人員的職位選擇將越來越多。
薪資方面,根據(jù)StackOverflow的2017年調(diào)查,Scala在全球薪資中排名第十,并在美國居第一位。
過去5年的流行趨勢:上升
10. R語言
R是一種編程語言,用于統(tǒng)計、圖形表示和數(shù)據(jù)分析。R語言是數(shù)據(jù)科學(xué)家的首選。如果你對數(shù)據(jù)科學(xué)領(lǐng)域感興趣,那么R對你來說是不錯的選擇。
過去5年的流行趨勢:穩(wěn)步上升
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動態(tài)隨機一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計學(xué)領(lǐng)域,假設(shè)檢驗是驗證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點數(shù)據(jù)的科學(xué)計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點數(shù)據(jù)時的科學(xué)計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動下的精準零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅(qū)動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實踐到業(yè)務(wù)價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導(dǎo)向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10