04.11 2018年最適合學習的十大最佳編程語言

編者按:在近期的一次訪談中,庫克反覆強調了學習編程的重要性。學會編程不僅是為了適應現在的就業市場,從長遠來看,隨著我們的世界日益數字化,它也是每一個人學習、理解新技術的基石。Alexander Petkov是一個優質IT求職社區的創始人,不久前,他以行業人的眼光預測了2018年的十大流行編程語言,為新手上路提供了有力參考。

注:本文排名受用戶基數影響較大,因此未出現C#和Go,這並不是說它們不好,事實上現在C#算得上是就業市場上最廣泛流行的語言。另外發展勢頭驚人的Kotlin也沒有出現在列表中。總的來說,文章內容較為嚴謹,但讀者還是要根據自己的職業規劃參考著自主選擇。

2018年最適合學習的十大最佳編程語言

首先,我要聲明一點,本文不是那些所謂的圍繞搜索關鍵詞、引用量、流行語的“Top 10編程語言排名”,這是一份基於2018年初IT行業狀況、趨勢和近期保守預測的客觀實用評估。它基於各種來源可靠的統計數據,並且是為期兩週深入研究的結果。毫不誇張地說,這是每一位想在2018年選擇正確編程語言、開啟自己工程師職業生涯的讀者必讀的權威指南!

本文的出發點在於幫助讀者更好地契合就業市場,包括推薦值得花精力和時間的利基市場、為有志於成為軟件開發者的人選擇最具優勢的語言,以及推薦平均薪資水平最高的編程語言。眾所周知,當一個人開始決定選取哪種語言作為自己的第一語言時,他會著重考慮這幾個因素:

  1. 高薪;

  2. 人氣——是否有大量的就業機會且工作內容多元;

  3. 前景廣大;

  4. 易於上手,工作舒心。

因此,對於下文中列出的每一種語言,我們都會考評它們的這些維度:

  1. 一個簡短的介紹,讓你瞭解這門語言,並知道它的就業選擇和技術優勢;

  2. 根據TIOBE和GitHub Octoverse得到的語言流行度圖;

  3. 根據Indeed.com和StackOverflow的2017年調查數據進行薪酬對比;

  4. 根據Google趨勢得出的過去五年中該語言的市場需求變化趨勢;

排名中的後4種語言知名度不高,但在過去幾年中它們的普及速度非常可觀,因此我們可以預見到它們在2018年的發展和需求提升。

1. JavaScript

根據StackOverflow的年度調查,JavaScript是現在最流行的語言,62.5%的受訪者稱自己正在使用它。因此它毫無疑問是網絡的主流語言,在過去的十年中,JavaScript發展迅猛。如果你對此持有異議,請環顧四周,看看周圍支持JavaScript的網絡設備有多少。拿Stack Overflow的聯合創始人Jeff Atwood的話說,就是:

任何可以用JavaScript編寫的應用程序最終都將用JavaScript編寫。

考慮到這個因素,我們可以肯定一點,就是在2018年及之後的幾年內,就業市場不會缺少JavaScript工作機會。

一些開發者基於JavaScript開發了許多前端框架,如Angular、React、Ember、Backbone等。另一個與區塊鏈開發關係緊密的運行環境Node.js,和JavaScript也有千絲萬縷的關係,有了它,我們就能高效地在後端運行js代碼。去年StackOverflow曾給出了一份關於2017年四大最流行框架的排名,而基於JavaScript的框架在其中佔了三席。

如果你喜歡那種可以馬上看到工作成果的語言,例如製作交互式Web組件,那麼JavaScript絕對算得上是一個首選。不過需要注意的一點是,JavaScript的一個重要學習前提是你必須有相當的HTML和CSS基礎,畢竟它們都和網頁設計相關。

一些工具,如Apache Cordova、React Native允許開發者在移動應用程序中使用JavaScript。有時我們甚至也能通過Electron等項目把它用於遊戲開發。

讓我們來看看把JavaScript排名第一的數據支撐:

TIOBE RATING:第6名

2018年最適合學習的十大最佳編程語言

TIOBE RATING是一項關於編程語言流行度的排名,它的計算主要基於這幾個數據:全球掌握這門語言的工程師人數、語言開課數、第三方使用機構和搜索引擎結果。

GitHub Octoverse:第1名

2018年最適合學習的十大最佳編程語言

GitHub是全球最大的開源軟件開發與管理社區,它每年都會推出“Octoverse”報告以列出一些趨勢。如上圖所示JavaScript是社區2017年評選出的最流行的編程語言。

US Salary in Indeed:平均水平

2018年最適合學習的十大最佳編程語言

Indeed是一個全球性的與就業相關的搜索引擎,它也是美國流量最高的就業網站。上圖顯示了各編程語言在美國的平均薪資水平。

Salary in StackOverflow:平均水平

2018年最適合學習的十大最佳編程語言

StackOverfllow可以說是最大的開發者社區,每月流量超過5000萬。上圖是StackOverfllow 2017年對超過六萬四千名開發者進行調查後得出的薪資水平結果。

綜合以上數據,JavaScript無疑是2018年及以後最受歡迎的語言之一。由於涉及大量初級職位,和另一些高級職位較多的冷門語言相比,它很難在薪水排名上高居榜首。

2018年最適合學習的十大最佳編程語言

JavaScript五年來的流行度趨勢:穩步增長

2. Swift

Swift是2014年由Apple發佈的一種相對較新的編程語言,主要用於開發iOS或MacOS應用程序。與Objective-C相比,很多人認為Swift在可用性和性能上都有明顯改進——曾經Apple iOS和OS X上的APP都是用Objective-C寫的。

事實上,青睞Swift的開發者為數眾多,繼2015年在Stack Overflow的調查報告中問鼎“最受喜愛的編程語言”第一後,它在2017年的榜單中仍高居第四。所以如果你選擇Swift作為自己的入門語言,你很可能也會在學習過程中慢慢愛上它。

當然,如果你有志於進入移動開發領域,懂一點Swift會使你在高薪崗位競爭中更具優勢。市場已經證明,iOS的APP通常比Android的吸金能力更強一些。

TIOBE Rating:第12名(2018年1月)

2018年最適合學習的十大最佳編程語言

GitHub Octoverse:第13名

2018年最適合學習的十大最佳編程語言

US Salary in Indeed.com:高

2018年最適合學習的十大最佳編程語言

Salary in StackOverflow:高於平均水平

2018年最適合學習的十大最佳編程語言

對於iOS和MacOS應用程序,Swift是一種新的、看起來更好的語言,它比它的前身Objective-C更出色。在短短几年內,Swift就獲得了很高的聲譽,並在大多數排名中擊敗了Objective-C。這種語言雖然被開發人員所喜愛,但也意味著要付出高昂的代價——除了iOS,你還能找到哪些用武之地?

2018年最適合學習的十大最佳編程語言

Swift五年來的流行度趨勢:急劇增長

3. Python

Python是一種通用語言,現在你幾乎可以在任何地方找到它的身影:網絡應用程序、桌面應用程序、網絡服務器、機器學習、媒體工具……NASA和谷歌是Python的實力擁躉,Guido van Rossum為什麼能在谷歌待8年?主要原因就是……他是Python的作者。

這是一種代碼整潔、可讀性高、結構良好的編程語言,對於Python,適當的縮進不僅是為了美觀,它還決定了代碼的執行情況。一些基於Python的Web開發框架,如Django和Flask,現在已經越來越受歡迎。而在機器學習領域,它還配備了各種高質量的庫,如Scikit-learn和Pandas等,幾乎稱得上是一家獨大。

總體而言,Python在就業崗位上有很多拓展空間,上手難度低,因此它對初學者來說是個不錯的選擇。

TIOBE Rating:第4名(2018年1月)

2018年最適合學習的十大最佳編程語言

GitHub Octoverse:第2名

2018年最適合學習的十大最佳編程語言

US Salary in Indeed:高

2018年最適合學習的十大最佳編程語言

Salary in StackOverflow:高

2018年最適合學習的十大最佳編程語言

綜上數據,選擇成為一名Python專家無疑是當今和未來最好的選擇之一。這門語言幾乎在每個領域都名列前茅。

2018年最適合學習的十大最佳編程語言

Python五年來的流行度趨勢:增長明顯

4. Java

Java可以說是普及率最高的編程語言,因為90%的世界500強公司都在用它。它的口號是:“一次編譯,隨處運行。”(Writeonce, run anywhere.)這句話抓住了Java的精髓——強大的JVM(Java虛擬機)使它具有其他語言難以企及的跨平臺兼容性。

在工作中,需要常常用到Java的人有後端開發人員、大數據開發人員、嵌入式系統工程師和Android開發人員等。雖然它並不是目前最“流行”的語言,但它的使用頻率非常高,以至於我們幾乎可以確信在未來十年甚至更長時間內,Java仍會在IT行業佔據重要的一席之地。

正因為如此,我們也完全可以下這麼一個結論:每個IT產業發達的城市都會有大量的Java工作崗位。對於列表中的一些冷門語言,我們不敢這麼下定論;但對於Java,它有這個底氣。如果你對Java感興趣,那找到合適的工作只是時間問題。

TIOBE Rating:第1名(2018年1月)

2018年最適合學習的十大最佳編程語言

GitHub Octoverse:第2名

2018年最適合學習的十大最佳編程語言

US Salary in Indeed:平均水平

2018年最適合學習的十大最佳編程語言

Salary in StackOverflow:高於平均水平

2018年最適合學習的十大最佳編程語言

Java的工作範圍覆蓋很廣,且多年來已經積累了大量高價值經驗,因此它在薪資排名中也能名列前茅。

2018年最適合學習的十大最佳編程語言

Java五年來的流行度趨勢:下降

5. C++

C++是一種高效且靈活的語言,它“出生”於1985年。雖然已經完全稱不上是新語言了,但因其高性能和高可靠性,且能被用於各種環境,它的市場缺口還是很大。關於這一點,我們可以看看到現在還在用C++創建和維護系統的大型公司:Microsoft、Oracle、PayPal和Adobe。它們都是C++的忠實粉絲。

談及C++的使用場景,常見的有開發桌面應用程序,尤其是性能密集型任務。雖然很複雜,但熟練掌握C++能幫你建立對編程語言的系統認識,讓你知道它是怎麼工作的,例如讓你直接管理內存。

TIOBE Rating:第3名(2018年1月)

2018年最適合學習的十大最佳編程語言

GitHub Octoverse:第6名

2018年最適合學習的十大最佳編程語言

US Salary in Indeed:高

2018年最適合學習的十大最佳編程語言

Salary in StackOverflow:高

2018年最適合學習的十大最佳編程語言

總的來說,C++的流行度還是很高的,如果你選擇它,你的就業前景會非常廣大,而且可能得到更高的發展機遇。它的薪資水平也處於高位。

2018年最適合學習的十大最佳編程語言

C++五年來的流行度趨勢:起伏不定

6. Ruby

Ruby是最受開發者喜愛的編程語言之一。它的口號是“程序員最好的朋友”,所以它的使用體驗非常舒適友好,且能為開發者帶來心情“加成”。

這是一種高級語言,它的目標是write less , do more,也就是通過幾行乾淨可讀的代碼就能實現很多功能。因此在編寫過程中,你可能需要耗費大量精力——“和其他流行編程語言相比,Ruby在寫作效率上相對過慢——但它絕對能提高你的工作效率”。

寫得非常優美的Ruby代碼看起來幾乎就是純英文句子,所以它很適合母語是英語的開發者。而把Ruby作為自己的入門語言也有一些優勢,之前提到了,它能給開發者帶來更多快感,並且就業內整體薪資水平而言,Ruby的工資處於較高位置。

當然,選擇Ruby也有一些缺點,其中最主要的一點是和上述語言相比,它還是太冷門了,所以即便是在某些IT行業較發達的城市,Ruby的崗位也不好找。

TIOBE Rating:第11名(2018年1月)

2018年最適合學習的十大最佳編程語言

GitHub Octoverse:第4名

2018年最適合學習的十大最佳編程語言

US Salary in Indeed:高

2018年最適合學習的十大最佳編程語言

Salary in StackOverflow:高

2018年最適合學習的十大最佳編程語言

Ruby是一個很好的職業選擇,因為它的報酬很高,而且語言本身很有趣。它的缺點是不如其他競爭對手那麼受歡迎,而且職位數量大大受限。但是,請注意一點,就是許多允許遠程辦公的美國初創企業會很喜歡招用Ruby(和Ruby on Rails)的人。

2018年最適合學習的十大最佳編程語言

Ruby五年來的流行度趨勢:下降

7. Rust

Rust是編程語言界的一張新面孔,它首次出現於2010年,並在當年就廣受歡迎,因此我們對它的未來一致看好。在StackOverflow的調查中,它已經連續兩年被開發者選為“最受喜愛的編程語言”(2016,2017)。

Rust由Mozilla主導開發,因為是一種編譯型編程語言,所以開發者們往往喜歡拿它和C做比較。兩者的主要區別在於Rust的內存安全性更高。在C代碼中,我們經常會遇到懸掛指針、緩衝區溢出以及其他類型的內存錯誤,但Rust不會。確切地說,它就是為了避免這些錯誤而出現的——在編譯期間(調試前)它就會向你指出:你在這裡寫的代碼是錯的。

對於一個初學者,Rust為了安全可以放棄一切的“死板”做法可能會打擊人的靈活性,但有經驗的開發者還是對它青睞有加。正因為如此,Rust在未來幾年內的市場需求可能還會不斷攀升。2017年StackOverflow的一份調查報告顯示。Rust的總體薪資水平非常高,在全球範圍內排名第二。

另外,選擇Rust的另一個理由是——為Mozilla的情懷打滿分。

2018年最適合學習的十大最佳編程語言

Rust五年來的流行度趨勢:增長

8. Elixir

Elixir是一種首次出現於2011年的新語言,和Rust一樣,它一經推出也收穫了廣泛好評。

這種語言的靈感來自Erlang——這是愛立信於二十世紀八十年代開發的一種語言,可以說是用於高併發需求的最佳工具之一。Elixir的作者JoséValim自己說他非常喜歡Erlang,但也看到了改進的餘地。對於開發者來說,Erlang最大的缺點在於怪異的語法和可用性,它缺乏直接的包管理。

為此,Elixir誕生了——作為Ruby和Erlang的結合體。

Elixir現在還是被主要用於網絡開發,雖然收入可觀,但上限不高。StackOverflow的調查數據顯示,它的薪資水平在全球排名第三。值得強調的一點是,Elixir的流行度正一年比一年上升。

2018年最適合學習的十大最佳編程語言

Elixir五年來的流行度趨勢:增長

9. Scala

Scala的設計初衷是實現可伸縮的語言,它是“重寫Java”並改進其缺點的眾多嘗試之一,可以在JVM上編譯。鑑於LinkedIn、Twitter和The Guardian等大公司都在其代碼庫中使用Scala,Scala在市場上取得的成功毋庸置疑。

對於初學者來說,直接上手Scala可能有些太複雜了,但如果能精通,它會為你提高職業發展天花板。因為未來就業市場對Scala開發者的需求肯定會越來越多。根據2017年StackOverflow的報告,Scala在薪金調查中名列前茅,位居全球前十名,且在美國居第一位。

2018年最適合學習的十大最佳編程語言

Scala五年來的流行度趨勢:增長

10. R

R是用於統計、圖形表示和數據分析的編程語言和環境。這是數據科學家的首選編程語言之一。如果你覺得自己對這個領域感興趣,那麼選擇R將是一個穩定而明確的舉措。

2018年最適合學習的十大最佳編程語言

R五年來的流行度趨勢:增長

小結

以上就是我總結的“2018年最適合學習的十大最佳編程語言”。選擇一門正確的語言意味著一個好的開始,但有一個好的開始絕不等同於你已經足夠優秀並能勝任各種高薪職位。

最後,我想給每個初學者一個建議:你可以通過買書自學、上網絡公開課甚至參加專門的培訓機構等各種途徑來學習編程語言,但在你的時間、精力和金錢投入進去後,請不要就這樣照本宣科,學習語言最好的方法絕對是自己做點東西,然後用它來吸引用戶,甚至吸引一幫粉絲。等你積累足夠多獨立開發經驗後,面對面試官,你才有更多的自信向他解釋自己是怎麼做的、自己為什麼要這麼做——這通常比你的其他回答更令人印象深刻。


分享到:


相關文章: