最多金的编程语言Top10:Python第3,R第10,你猜第1是谁?
導(dǎo)讀:如果你還在糾結(jié)選哪門編程語言來開啟你的碼農(nóng)生涯,這將是你的最佳指南。
本文絕非標(biāo)題黨,而是基于大量數(shù)據(jù)和為期兩周的深入探究,在18年初,對IT行業(yè)的現(xiàn)狀、趨勢以及預(yù)測進(jìn)行客觀觀察,讓大家對編程語言有一個更清晰的認(rèn)識,以選擇最值得花費(fèi)時(shí)間和精力的職業(yè)方向,為大家走向碼農(nóng)事業(yè)巔峰助攻。
在考慮最佳職業(yè)發(fā)展方向時(shí),工程師們在選擇編程語言上通常會考慮四點(diǎn):
高薪,錢途第一啊畢竟
大量、多樣的職位需求
越來越受歡迎的趨勢
容易上手,工作友好
我們這次的名單也會考慮以上幾個點(diǎn),部分抓取了世界上最大的求職網(wǎng)站Indeed.com上的數(shù)據(jù)進(jìn)行綜合排名(Indeed.com覆蓋60多個國家,28種語言。2010年10月,Indeed.com超越Monster.com躍居美國流量第一的求職網(wǎng)站),但并非每一種編程語言都是往好的方向發(fā)展,話不多說,快讓我們來看一下Top10是哪些吧!
01?JavaScript
Stack Overflow的聯(lián)合創(chuàng)始人Jeff Atwood曾說過一句著名的話:“所有應(yīng)用程序都可以,且最終都將用JavaScript來寫。”
據(jù) StackOverflow 的年度調(diào)查顯示,受到 62.5%被調(diào)查者親睞的 JavaScript 被評選為最受歡迎的編程語言。在過去十年里,JavaScript 發(fā)展顯著,并在 Web 開發(fā)領(lǐng)域占有絕對優(yōu)勢。
可以說在 2018 年甚至以后,JavaScript 市場充滿機(jī)會。JavaScript 已經(jīng)深入像 Angular, React, Ember, Backbone 這種前段框架,以及 Node.js(一種支持 JavaScript 在服務(wù)端高效運(yùn)行的平臺)等平臺,2017 年,StackOverflow 評選出的四種最受歡迎的框架中有三種都是基于 JavaScript。
▲JavaScript近5年的流行趨勢:穩(wěn)步增長
如果你熱衷于即時(shí)可見的工作成果,比如制作交互式的 Web 組件,JavaScript 將會是你的不二選擇。但值得注意的是,選擇 JavaScript 意味著需要同時(shí)掌握網(wǎng)頁構(gòu)成的基礎(chǔ)語言——HTML 和 CSS。
此外,JavaScript 還可以在 Apache Cordova 或者 React Native 這類工具上開發(fā)移動應(yīng)用,甚至可以在 Electron 上進(jìn)行游戲或者桌面應(yīng)用開發(fā)。
▲世界上最大的求職網(wǎng)站 Indeed.com上的薪酬排行(平均年薪)
JavaScript 無疑是 2018 年以及往后最受歡迎的編程語言之一。值得一提的是,對于受歡迎程度較低的編程語言,其高級職位占很大比例,而大多數(shù)是初級職位的 JavaScript 可以達(dá)到如此高的薪資水平實(shí)屬不易。
▲JavaScript 代碼示例
02?Swift
Swift 是一門相對新的開發(fā)語言,由蘋果與 2014 年發(fā)布,用于搭建基于 Mac OS 和 iOS 平臺的應(yīng)用程序。雖然同為蘋果的 iOS 和 OS X 操作系統(tǒng)服務(wù),與 Objective-C 相比,Swift 在使用性和性能上都有所提升。
Swift 普遍受到開發(fā)者的親睞,在 2017 年“最喜歡的編程語言”中排名第四,此前在 2015 年曾排名第一。如果你選擇 Swift 開啟職業(yè)生涯,說不定你也會愛不釋手。
▲世界上最大的求職網(wǎng)站 Indeed.com上的薪酬排行(平均年薪)
作為后起之秀,Swift 在 iOS 和 Mac OS 應(yīng)用開發(fā)上似乎更勝于他的前輩 Objective-C. 短短幾年時(shí)間 Swift 就快速流行起來,并且在多數(shù)排行榜中力壓 Objective-C。一門既受開發(fā)者喜歡,薪資又高的語言,你還要求什么呢?
▲Swift近5年的流行趨勢:急劇上升
▲Swift 代碼示例
03?Python
如今幾乎隨處可見的 Python 已成為了一門通用語言。網(wǎng)站應(yīng)用,桌面應(yīng)用,網(wǎng)絡(luò)服務(wù),機(jī)器學(xué)習(xí),媒體工具…統(tǒng)統(tǒng)都可以見到 python 的身影。
Python 同時(shí)也受到 NASA, Google 這樣的大佬們的親睞,python 的發(fā)明者 Guido van Rossum 在受雇于 Google 的 8 年里花了大半的時(shí)間來維護(hù) python 的開發(fā)。
▲Python近5年的流行趨勢
Python 的代碼優(yōu)雅整潔,結(jié)構(gòu)清晰,可讀性強(qiáng)。對于 python 而言,正確的縮進(jìn)不僅只是為了美觀,更是決定了代碼的執(zhí)行。
像 Django 和 Flask 這種基于 python 的 Web 應(yīng)用框架越來越受歡迎。此外,python 還配備高質(zhì)量的機(jī)器學(xué)習(xí)和數(shù)據(jù)分析的包,像 Scikit-learn 和 Pandas.
總之,python 提供了多種多樣的職業(yè)方向,并且 python 作為一種高級解釋編程語言,易寫易理解,非常適合剛起步的開發(fā)者。
▲世界上最大的求職網(wǎng)站 Indeed.com上的薪酬排行(平均年薪)
幾乎在所有領(lǐng)域,Python 都已成為佼佼者。成為 Python 領(lǐng)域的專家,無疑是現(xiàn)今最佳的職業(yè)選擇
▲Python 代碼示例
04?Java
大約 90%的財(cái)富 500 強(qiáng)企業(yè)都在使用 Java,可以說她是最普及的編程語言了。Java 最有名的口號“一次編寫,到處運(yùn)行”充分描述了最具吸引力的特征之一——強(qiáng)大的 Java 虛擬機(jī),可以實(shí)現(xiàn) Java 跨平臺運(yùn)行
Java 通常的職業(yè)發(fā)展方向包括后端開發(fā)人員,大數(shù)據(jù)開發(fā)人員,嵌入式工程師或者安卓開發(fā)工程師。雖然 Java 現(xiàn)階段不是最流行的語言,但它使用率之高也確保了她未來很長的時(shí)間的存在。
正是由于這個原因,你可以很輕松的在各個地方找到合適的 Java 職位,這是其他相對不那么流行的編程語言難以達(dá)到的。所以如果 Java 是你的菜,那你找到合適的工作機(jī)會只是時(shí)間問題。
▲世界上最大的求職網(wǎng)站 Indeed.com上的薪酬排行(平均年薪)
Java 作為普及率最高的開發(fā)語言,可以提供的職位涉及廣泛,這也使得 Java 在薪資榜上名列前茅,從整體上來看,Java 的工資水平是中等偏上的。
05?C++
C++設(shè)計(jì)開發(fā)于 1985 年,是一種高效而靈活的編程語言。C++具有性能優(yōu),可靠性強(qiáng),多種可選的運(yùn)行環(huán)境的特點(diǎn),一直受到開發(fā)人員的喜愛。C++可以用來編寫和維護(hù)一些復(fù)雜的系統(tǒng),包括像 Microsoft, Oracle, PayPal 以及 Adobe 都是采用的 C++。
使用 C++語言的開發(fā)人員大多從事桌面應(yīng)用開發(fā),特別是一些性能要求非常嚴(yán)格的任務(wù)。C++的底層操作能力十分強(qiáng)大,雖然學(xué)習(xí)起來比較復(fù)雜,但你一旦掌握這門語言,將會有助于了解你所使用的編程語言究竟是如何實(shí)現(xiàn)的。
▲世界上最大的求職網(wǎng)站 Indeed.com上的薪酬排行(平均年薪)
C++同樣一種十分受歡迎的編程語言。如果你愿意花時(shí)間去掌握她,大量工作機(jī)會將向你敞開大門,而且C++的薪資也相對偏高。
▲C++近5年的流行趨勢
▲C++ 代碼示例
06?Ruby
Ruby 語法簡單,用戶友好,是最受開發(fā)人員喜愛的語言之一,也被稱為 “程序員最好的朋友”。
Ruby 作為一種高層次的編程語言,旨在用最簡潔易讀的代碼實(shí)現(xiàn)更多的功能。但是也正因?yàn)?Ruby 的解釋性質(zhì),使得她在效率和性能上略遜與其他語言。
編寫良好的 Ruby 代碼幾乎看起來就像用普通英語寫的句子,對于初學(xué)者來說很好上手,而且體驗(yàn)也很好,很適合作為入門編程語言來學(xué)習(xí)。
Ruby 最主要使用于 web 應(yīng)用框架 Ruby on Rails——一種強(qiáng)大的基于 Ruby 的 Web 開發(fā)工具。Rails 是包裝功能,更有效率,很多想快速起步的初創(chuàng)企業(yè)的都將 Rails 作為首選。
選擇 Ruby on Rails 作為職業(yè)方向是很棒的選擇,畢竟以“優(yōu)化程序員的幸福”為原則的 Rails,同樣有著不錯的薪資待遇。唯一的缺點(diǎn)就是 Ruby 不如上面提到的幾種語言普及度高,所以能提供的職位也相對有限。
▲世界上最大的求職網(wǎng)站 Indeed.com上的薪酬排行(平均年薪)
Ruby 薪資待遇高,學(xué)習(xí)和編寫簡單,同樣是不錯的職業(yè)選擇。唯一的缺點(diǎn)是不如其他語言普及度高,某些地區(qū)的職位需求相對有限。值得一提的是,創(chuàng)業(yè)公司經(jīng)常會需要遠(yuǎn)程工作,而Ruby (以及Ruby on Rails)則是他們的首選。
▲Ruby近5年的流行趨勢:緩慢下降
▲Ruby 代碼示例
07?Rust
Rust 由 Mozilla 贊助開發(fā),連續(xù)兩年在 StackOverflow 調(diào)查中被評為最受開發(fā)人員喜歡的語言。Rust 于 2010 年面世,雖然是一門非常新的語言,但已經(jīng)獲得廣受關(guān)注,且有望在未來進(jìn)一步發(fā)展。
▲Rust近5年的流行趨勢:逐年上升
同樣是編譯語言,Rust 經(jīng)常會被拿來和 C 語言在用例和性能上進(jìn)行比較。兩者最大的區(qū)別在于 Rust 是一種安全語言,C 語言的代碼中會經(jīng)常會出現(xiàn)懸空指針,緩存溢出等各種內(nèi)存問題,而 Rust 就是為了避免這類問題出現(xiàn)而設(shè)計(jì),因?yàn)?Rust 在編譯階段就解決了內(nèi)存問題。
為了實(shí)現(xiàn)內(nèi)存安全,Rust 的編寫設(shè)有非常多的規(guī)則,對于初學(xué)者來說,掌握起來會相對困難。當(dāng)然,對于經(jīng)驗(yàn)豐富的程序員來說,Rust 還是非常受歡迎,很有可能在接下來的幾年 Rust 的需求將會很高。
薪資方面,Rust 也屬于高薪隊(duì)伍,在 2017 年 StackOverflow 全球調(diào)查中排行第二。
▲Rust 代碼示例
08?Elixir
另一個后起之秀Elixir,2011年一面世,就立馬流行起來。
Elixir 以 Erlang 為基礎(chǔ),Erlang是瑞典電信設(shè)備制造商愛立信于80年代應(yīng)對大規(guī)模并發(fā)活動的編程語言,Elixir語言的設(shè)計(jì)者José Valim坦言,自己喜歡Erlang的所有的同時(shí)看到了她的提升空間。Erlang最大的缺點(diǎn)在于他太獨(dú)特的語法和運(yùn)行模式以及不夠直觀的模塊化管理。
由此,結(jié)合了Erlang和開發(fā)友好的Ruby的Elixir應(yīng)運(yùn)而生。Elixir主要應(yīng)用于網(wǎng)站開發(fā),雖然工作機(jī)會有限但薪資可觀,并且在近幾年越來越受歡迎。如果你所在的城市有眾多IT企業(yè),Elixir開發(fā)人員將會是追捧對象。
薪資方面,Elixir在2017年StackOverflow全球調(diào)查中排行第三。
▲Elixir近5年的流行趨勢:逐年上升
▲Elixir 代碼示例
09?Scala
Scala是一種實(shí)現(xiàn)可伸縮的語言,是眾多對Java進(jìn)行改進(jìn)的語言之一,Scala可以與Java互操作,在編譯后可在Java虛擬器上運(yùn)行。可以說Scala在業(yè)界已經(jīng)取得了很大的成功,像領(lǐng)英,推特以及衛(wèi)報(bào)這樣的大公司的代碼庫中都有Scala的身影。
對于初級程序員來說,Scala是出了名的復(fù)雜難學(xué)。但將來克服了學(xué)習(xí)曲線,真正成為一名Scala開發(fā)人員一定會越來越多。Scala開發(fā)者的薪資非常高,在2017年StackOverflow的調(diào)查中,全球前十,美國第一。
▲Scala近5年的流行趨勢:穩(wěn)步上升
▲Scala 代碼示例
10?R
R是用于統(tǒng)計(jì)分析、繪圖以及數(shù)據(jù)分析的語言和操作環(huán)境,同時(shí)也是數(shù)據(jù)科學(xué)家們的第一選擇。如果你對這個領(lǐng)域感興趣的話,R語言是一個穩(wěn)定,價(jià)值高的職業(yè)方向。
▲R近5年的流行趨勢:平穩(wěn)向上
▲R 代碼示例
以上就是 2018 年最值得考慮的前 10 種編程語言,并不是要挑起什么“語言之戰(zhàn)”,也并不評判那些分享了自己對技術(shù)的好惡看法的程序員們。這僅僅是基于大數(shù)據(jù)得出的建議,希望對你有幫助。
作者:Alexander Petkov
譯者:maistern
來源:優(yōu)達(dá)學(xué)城Udacity(ID:youdaxue)
文章版權(quán)歸原作者所有,轉(zhuǎn)載僅供學(xué)習(xí)使用,不用于任何商業(yè)用途,如有侵權(quán)請留言聯(lián)系刪除,感謝合作。
總結(jié)
以上是生活随笔為你收集整理的最多金的编程语言Top10:Python第3,R第10,你猜第1是谁?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 荐书 | 10本书给你计算机大师思维
- 下一篇: 怎样借助Python爬虫给宝宝起个好名字