編者按:旨在幫助初級開發人員找到高質量工作的 MyFirstITJob.com 創始人 Alexander Petkov 在本文中就開發人員在 2018 年應該考慮選擇的十門編程語言給出瞭自己的建議,旨在幫助開發人員瞭解 2018 年 IT 市場將會需要什麼樣的編程語言,從而做出決定在哪個方面投入更多的時間和精力,也有助於開發人員瞭解掌握哪些內容才能走上成功的軟件開發員之路,或者是掌握哪門語言才能在成功的道路上越走越遠。
對於那些想在 2018 年選擇正確的編程語言職業道路的人來說,本文是一份權威指南。首先,我需要說明以下幾點:
本文並不是圍繞一堆流行語或幾位名人展開的一篇"熱門編程語言"帖子。
這是在 2018 年初對 IT 行業目前狀態、趨勢以及近期發展預測的一份客觀、實際性評估。
本文建立在多渠道來源可信統計數據基礎之上,並且在撰寫本文之前我進行瞭為期兩周的深入研究。
本文旨在幫助您瞭解 2018 年 IT 市場將會需要什麼樣的編程語言,有助於您做出決定在哪個方面投入時間和精力,也讓您瞭解到掌握哪些內容將會幫助你走上成功的軟件開發員道理,或者是讓你在成功的道路上越走越遠。
要想確定哪種編程語言會幫助軟件開發人員走上最佳職業路徑時,我們通常尋求的是以下這四個特征:
1、高薪
2、高人氣——大量的職位空缺,多樣化
3、未來需求會更加旺盛
4、相對容易掌握,工作起來也比較愉快
對於我在下文介紹的各種編程語言,您將看到以下幾個內容模塊:
1、一個簡短的介紹,帶你熟悉這門語言,這門編程語言會為你帶來什麼類型的職業選擇以及這門語言的酷炫之處在哪裡
2、根據 TIOBE 編程語言排行榜以及 GitHub Octoverse 數據得出的一個編程語言流行度排行
3、根據 Indeed.com 和 StackOverflow 2017 年調查數據進行薪酬對比
4、根據 Google Trends 得出該語言在過去五年的需求變化趨勢
5、一個簡短的代碼片段,讓你對該編程語言的語法有一個大致的視覺概念
最後,我列出的是四種知名度相對較低的編程語言,這四種語言在過去幾年的流行度也迅速提高,預計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。據 StackOverflow 數據統計,2017 年最流行的前 4 個框架中,有 3 個是建立在 JavaScript 基礎之上。
如果你喜歡做完之後立即能看到工作成果,例如制作交互式 Web 組件,那對你來說 JavaScript 是一個不錯的選擇。要記住的一點是,選擇 JavaScript 作為職業道路就意味著你也要接受 HTML 和 CSS,因為這些基本上都是用來制作網頁的。
像 Apache Cordova 或者是 React Native 這樣的工具可以幫助你將 JavaScript 應用於移動應用程序,甚至有可能通過像 Electron 這樣的項目將 JavaScript 用於遊戲開發或者是桌面應用程序開發。
下面看一下 JavaScript 的相關數據。
JavaScript 流行度和薪酬對比數據
1、TIOBE 排行:#6(2018 年 1 月)
TIOBE 排行是用於衡量編程語言流行度的一個指標。排行結果是建立在全球熟練工程師數量,課程、第三方供應商以及搜索引擎數量基礎之上。
2、GitHub Octoverse: #1
2017 年底數據
GitHub 擁有各種開源項目,用戶達 2400 萬人,這些項目是在 6700 萬個庫中以 337 種獨特的編程語言編寫而成。據公開的 Pull Request 數據顯示,JavaScript 是 GitHub 上最受歡迎的編程語言(以萬為單位進行展示)。
從前到後依次是JavaScript、Python、Java、Ruby、PHP、C++、C#
3、在 Indeed.com 上的薪資情況:中等
Indeed.com 是用於求職以及發佈職位的一個國際性搜索引擎平臺,目前面向 60 多個國傢開放,支持28 種語言。2010 年 10 月,Indeed.com 超過 Monster.com 成為美國流量最高的求職網站。
4、在 StackOverflow 上的薪資情況:中等
來自 2017 年的統計數據,超過 64000 名開發者參與瞭調查。StackOverfllow 當之無愧是最大的開發者社區,每月訪問量超過 5000 萬次。自 2011 年以來,StackOverfllow 每年都會進行一次調查,詢問開發人員他們喜歡的技術、編碼和工作習慣等信息。
國際范圍
美國
小結
JavaScript 無疑是 2018 年及以後最受歡迎的編程語言之一。
由於大多數參與調查的職位可能都屬於初級職位,所以薪水很難在排行榜上高居榜首。正是因為JavaScript 流行度非常高,所以不像其它編程語言那樣,在接受調查的人員中,高級職位占比例更高。
過去 5 年 JavaScript 的流行趨勢:穩步增長
JavaScript 代碼片段示例:
2、Swift
Swift 是 2014 年由蘋果發佈的一門相對較新的編程語言,用於開發本地 iOS 或 MacOS 應用程序。與用於蘋果 iOS 和 OS X 操作系統的編程語言 Objective-C 相比,Swift 在可用性和性能方面均有所提升。
開發者通常都比較青睞 Swift 這門編程語言。2015 年,在最受開發者喜愛的編程語言排行榜中,Swift 排名首位,2017 年排名為第四位。如果你選擇 Swift 作為自己的職業發展方向,那你很可能會喜歡上這份職業。
如果你想進入移動開發領域,那你絕對應該考慮選擇 Swift 作為自己的高薪職業發展道路。一般說來,從事 iOS 應用程序開發工作比安卓應用程序開發薪資更高一些。
Swift 流行度和薪酬對比數據
1、TIOBE 排行:#9(2018 年 1 月)
2、GitHub Octoverse: #5
從前往後依次是 JavaScript、Python、Java、Ruby、Swift、Scala、Objective-C
3、在Indeed.com 上的薪資情況:高等
4、在 StackOverflow 上的薪資情況:中等偏上
小結
對於 iOS 和 MacOS 應用程序來說,Swift 比它的前身 Objective-C 更新也更好。僅僅幾年的時間內,Swift 就積累瞭很高的聲望,並且在大多數排行榜中都擊敗瞭 Objective-C。這種語言為開發者所喜愛,並且收入不菲,這不正是你選擇職業道路時所看重的兩個方面嗎?
過去 5 年 Swift 的流行趨勢:急劇上升
Swift 代碼片段示例:
3、Python
Python 是一種通用語言,現在幾乎在任何地方,您都可以找到它,無論是網絡應用程序、桌面應用程序、網絡服務器,還是機器學習以及媒體工具等。像 NASA 和谷歌這樣的大公司也都使用這一編程語言,Python 的發明者 Guido van Rossum 在谷歌工作瞭八年的時間,工作主要就是……編寫 Python。
Python 代碼整潔、可讀性高,並且結構清晰,適當的縮進並不僅僅是為瞭美觀,而是決定瞭代碼的執行。像 Django 和 Flask 等基於 Python 的 Web 開發框架已經變得越來越受歡迎。除此之外,該語言還配備瞭很多高質量的機器學習和數據分析庫,包括 Scikit-learn 和 Pandas 等。
總體來說,Python 的職業發展道路非常多樣化,對於剛進入編程領域的開發人員來說是一個不錯的選擇,因為它易於讀取,易於理解。
Python 流行度和薪酬對比數據
1、TIOBE 排行:#4(2018 年 1 月)
2、GitHub Octoverse: #2
3、在 Indeed.com 上的薪資情況:高等水平
4、在 StackOverflow 上的薪資情況:高等水平
無論是著眼於當下還是未來幾年,成為一名 Python 編程專傢無疑是最好的職業選擇之一,這門語言在不同部門的表現都算是名列前茅。
過去 5 年 Python 的流行趨勢:表現不俗
Python 代碼片段示例:
4、Java
Java 可以說是最受歡迎的編程語言, 90% 的財富 500 強公司都大量使用這一語言。Java 那句廣為人知的口號"一次編寫,處處運行"也體現出瞭 Java 價值的關鍵所在—它強大的 Java 虛擬機(JVM)使得 Java 具有跨平臺兼容性。
目前流行的 Java 職業路徑包括後端開發員、大數據開發員,嵌入式系統工程師或安卓開發員。雖然Java 並非是目前"最具發展趨勢"的語言,但 Java 的使用頻率非常高,以至於我們幾乎可以斷定它在未來十年甚至更長時間內都不會過時。
也就是說,你可以放心,無論是你當前所處的城市,還是遙遠的某個地方,都會有大量的 Java 工作職位,但我在本文所提到的其它流行度相對較低的編程語言卻不能保證如此。所以,如果你覺得 Java 方向不錯,那找到合適的職位指日可待。
Java 流行度和薪酬對比數據
1、TIOBE 排行:#1(2018 年 1 月)
2、GitHub Octoverse: #3
3、在 Indeed.com 上的薪資情況:中等水平
4、在 StackOverflow 上的薪資情況:中等偏上
毫無疑問,Java 現在是最流行的編程語言,並且相關工作崗位都會涉及到廣泛的工作經驗,這也使得 Java 行業薪資在排行榜中位居高位。但是,據我進行的相關研究,我發現 Java 行業薪資往往是略高於平均水平薪資。
過去 5 年 Java 的流行趨勢:下降
Java 代碼片段示例:
5、C++
C++ 最早出現於 1985 年,是一種高效、靈活的編程語言。由於它的性能、可靠性以及可以應用到的不同環境,目前行業對於 C++ 的需求仍然很高。許多大型系統都成功地運用 C ++完成瞭創建和維護,其中包括微軟、甲骨文、PayPal 和 Adobe 等。
C++ 方向的職業路徑通常涉及開發桌面應用程序,尤其是性能密集型任務。雖然 C++ 相當復雜,但掌握這門編程語言能夠讓你深入瞭解編程語言是怎樣發揮作用的。
C++ 流行度和薪酬對比數據
1、TIOBE 排行:#3(2018 年 1 月)
2、GitHub Octoverse: #6
C++ 是一門流行度很高的編程語言,如果你肯花時間來掌握這門語言,就有各種不同的職位供你選擇。並且,C++ 行業薪資通常都高於平均水平。
過去 5 年 C++ 的流行趨勢:起起伏伏
C++ 代碼片段示例:
6、Ruby
Ruby 是最受人喜愛的編程語言之一。設計風格友好,便於開發人員使用,它的宣傳語說的都是"程序員最好的朋友"。Ruby 是一種高級語言,旨在通過幾行整潔、可讀性高的代碼來實現很多功能。有時,這背後需要耗費大量的精力,這也使得 Ruby 與其它編程語言相比效率較低,但它肯定能提高你的生產力。
寫的不錯的 Ruby 代碼看起來就像是用平白的英文寫成的句子一樣。對於編程人員來說,很適合選擇Ruby 作為自己學習的第一門編程語言,因為初學者通常都會快速的掌握這門語言,並且享受整個過程。
Ruby 目前主要是用於其最流行的一個框架——Ruby on Rails 之中。Ruby on Rails 是一個 Web 框架,它能夠將所有的 Ruby 想法結合到一起,成為一項強大的 Web 工具。使用 Ruby 能夠大幅提升生產力,對於那些想實現良好開端的初創企業來說,Ruby 可以說是他們的一個共同選擇。
選擇 Ruby on Rails 作為自己的職業方向絕對是一個不錯的選擇,因為該框架"是以讓程序員快樂為目標而進行的優化",並且薪資水平也很高。選擇該語言作為職業方向唯一的缺點在於,與之前所提到的幾種編程語言相比,Ruby 的流行度沒有那麼高。因此,在某些地方,Ruby 相關的職位需求可能並不多。
Ruby 流行度和薪酬對比數據
1、TIOBE 排行:#8(2018 年 1 月)
2、GitHub Octoverse: #4
Ruby 方向是一個很不錯的職業選擇。因為 Ruby 方向職位薪資高,並且這門語言本身編寫起來也很有趣。
唯一的缺點是 Ruby 不像一些競爭對手那麼受歡迎,而且在你所在區域,相關職位需求可能並不旺盛。但是,要知道,那些采用遠程工作形式的初創企業通常比較青睞 Ruby(Ruby on Rails)。
過去 5 年 Ruby 的流行趨勢:下降
Ruby 代碼片段示例:
7、Rust
Rust 由 Mozilla 基金會贊助,在 StackOverflow 調查中已經連續兩年被評為開發人員最喜愛的編程語言。Rust 是一門相對較新的編程語言,最早出現於 2010 年,短短幾年時間內卻積累瞭不俗的知名度,並且有望在未來進一步提高。
Rust 是一種編譯語言,在用例以及性能方面經常被拿來與 C 語言進行比較。兩者之間的主要區別在於Rust 內存安全。C 代碼最常見的錯誤就是懸空指針、緩存溢出或者是其他類型的一些內存錯誤。而Rust 就是為避免這些錯誤而創建的——這種語言在編譯期間(代碼運行之前)就能捕捉到類似的錯誤,從而讓你無法再犯這樣的錯誤。
對於初學者來說,在掌握 Rust 的過程中可能會有些掙紮,因為它會有各種規則要求來保證內存安全性。但是有經驗的開發人員都很喜歡這門編程語言,並且在未來幾年,行業對於 Rust 的需求應該會非常高。
就薪資方面來看,Rust 相關職位薪資待遇不錯,在 StackOverflow 的 2017 年調查排行榜中排在第二位。除此之外,還有一個因素是你選擇 Rust 的理由,Rust 是由 IT 界傢喻戶曉的 Mozilla 主導開發的一門編程語言。
過去 5 年 Rust 的流行趨勢:上升
Rust 代碼片段示例:
8、Elixir
Elixir 也是一門新型編程語言,首次出現於 2011 年,很快便流行開來。Elixir 的開發靈感來自於Erlang,Erlang 是愛立信在二十世紀八十年代開發的一種語言,無疑是支持超大量級並發的最佳工具之一。Elixir 的設計者 José Valim 自己曾說過他喜歡 Erlang 方方面面,但也認為它還有改進的餘地。對於開發人員來說,Erlang 最大的缺點在於語法和可用性非常古怪,並且缺乏直觀的包管理。
因此,才會出現 Elixir,Elixir 將 Ruby 這門高度開發的友好型語言和生態系統與 Erlang 相結合。Elixir主要用於網絡開發,相關職位收入較高,但選擇性有限。這門編程語言的流行度一年比一年高,所以如果你所在的城市有各種各樣的 IT 公司,那 Elixir 開發人員應該會受到高度追捧。
從薪資角度來看,在 StackOverflow 的 2017 年調查排行榜中,Elixir 相關職位薪資水平排在第三位。
過去 5 年 Elixir 的流行趨勢:上升
Elixir 代碼片段示例:
9、Scala
Scala 是一門多范式編程語言,是"重寫 Java"的眾多嘗試成果之一,旨在改進 Java 存在的一切缺點,在 Java 虛擬機上運行。鑒於 LinkedIn、Twitter 和 The Guardian 等大公司都在其代碼庫中使用瞭Scala,可以說 Scala 已經取得瞭成功。
對於初級開發人員來說,Scala 算是一門比較復雜的語言。但是那些已經掌握瞭這門語言的人可能會走上很好的職業道路,因為面向 Scala 開發人員的職位會越來越多。
根據 StackOverflow 2017 年報告數據顯示,Scala 相關職位薪資水平名列前茅,在全球范圍內位列前十名,在美國位居首位。
過去 5 年 Scala 的流行趨勢:上升
Scala 代碼片段示例:
10、R 語言
R 語言是用於統計、繪圖和數據分析的編程語言和操作環境,是數據科學傢的首選。如果你對數據科學領域感興趣,那 R 語言對你來說是一個穩定並且能賺到錢的職業選擇方向。
過去 5 年 R 語言的流行趨勢:穩步上升
R 代碼片段示例:
以上就是 2018 年你該考慮學習的十大編程語言。
原文鏈接:https://medium.freecodecamp.org/best-programming-languages-to-learn-in-2018-ultimate-guide-bfc93e615b35
編譯組出品。編輯:郝鵬程