衝擊百萬年薪:11 大編程語言薪資排行榜,你還不來學Python嗎

編程語言 Python C語言 Java Python編程學習 Python編程學習 2017-09-16

【導讀】編程言語有許多,但並非每一種的需求或薪酬都相同。人工智能和機器學習走熱,讓 Python 從眾多編程言語中鋒芒畢露。本文將綜合各種信源,比較不同編程言語在美國市場的相關薪資水平、人氣和前景,為你供給一些參閱。大量統計數據襲來,你準備好了嗎?

有這樣一個問題,使用空格和使用 Tab 的程序員誰掙得更多?

你別說,還真有人做了統計:

衝擊百萬年薪:11 大編程語言薪資排行榜,你還不來學Python嗎

圖1:根據 2017 年 Developer Survey 調查 12,426 名全職開發人員的結果,使用空格(紅線)的人薪資比使用 Tab 的更多。來源:stackoverflow.blog

由上圖可知,運用空格的開發人員,薪酬中位數為 59,140 美元,而運用Tab的開發人員的薪酬中位數為 43,750 美元。

運用空格的程序員比運用 Tab 的掙更多!

上面這個查詢 Developer Survey [1]是面向全球進行的,並且不同的國家之間開發人員對空格和 Tab 的偏好距離並沒那麼大——實際上,依據這份查詢,不同國家和地區的程序員運用兩者的狀況差不太多。

衝擊百萬年薪:11 大編程語言薪資排行榜,你還不來學Python嗎

圖2:不同國家和地區開發人員對空格、Tab 的偏好差距並不太大。2017 年 Developer Survey 調查了 12,426 名全職開發人員,來自美國、印度、英國、德國、加拿大和其他地區。紅條、綠條和藍條分別表示更愛用空格、Tab 和兩者差不多。來源:stackoverflow.blog

那麼,收入之間的距離可能來自於這些開發人員所運用的編程言語,比如說,移動端開發人員更喜愛運用 Tab,而 DevOps 開發人員更常運用空格。

所以,Developer Survey 查詢又計算了開發人員的作業品種(比如是前端開發仍是圖形規劃)和他們運用的言語,薪資情況如下:

衝擊百萬年薪:11 大編程語言薪資排行榜,你還不來學Python嗎

圖3:使用 Tab 的開發人員的薪資中位水平。來源:stackoverflow.blog

這是個風趣的成果,但並不是決定性的。但是,有一個不可否認的現實——編程言語的品種有許多,並非每一種的需求或薪酬都相同。本文將歸納各種信源,比較與不同編程言語在美國商場的相關薪資水平、人氣和遠景,為你供給一些參考。

在本文中,你將看到幾種首要編程言語的:

  • 作業時機

  • Github 流程程度及改變

  • 編程言語介紹(為想要學習編程的讀者預備)

薪資排行 & 工作機會:Python 既有實力亦有潛力

在美國,軟件作業崗位在線招聘數量從 2007 年到 2012 年增加了 31%,比總體作業崗位增速快了 3 倍。美國勞工統計局估量,軟件開發人員的作業從 2012 年到 2022 年將以 22% 的增幅持續增加。這裡有個數字,2016 年 5 月,軟件應用程序開發員薪資的中位數為 100,080 美元。

運用國外招聘網站 Indeed.com 上招聘廣告的數據,我們能夠將編程言語的薪資水平劃分為 9 檔:

衝擊百萬年薪:11 大編程語言薪資排行榜,你還不來學Python嗎

根據這個成果,Ruby/Ruby on Rails 看起來會讓你掙得最多,而 Python,C++,iOS 和 JavaScript 也是面子的挑選。如果薪資是你的首要關注點,那麼或許 C,PHP 和 SQL 不是最理想的挑選……

平均薪資水平可能會受比如需求(有多少招聘職位)、供給(有多少開發人員瞭解言語)和經驗(資深開發人員天然掙得比初級開發人員多)等許多要素的影響,我們有必要深化了解這些要素,然後才下結論。

  1. 工作需求

根據你瞭解的編程言語找到作業的可能性有多大?以下是來自 Indeed.com 的作業趨勢:

衝擊百萬年薪:11 大編程語言薪資排行榜,你還不來學Python嗎

能夠看到,C,SQL,Java 和 JavaScript 在招聘啟事中經常被說到,而 C#,C++ 和 Python 也是體現不錯的言語。

另一方面,如果你的目標是在創業公司工作,那麼可能 Indeed.com 的工作趨勢不是你應該參閱最佳的目標。我們找到了 AngelList 網站,這裡有更多美國草創公司發佈的職位,來看看根據 AngelList 的軟件開發人員需求的編程技巧:

衝擊百萬年薪:11 大編程語言薪資排行榜,你還不來學Python嗎

再一次地,JavaScript 高居榜首。但是,美國創業公司似乎更喜愛 Python 和 Java,對這兩者的需求超過了(兩年前 Ruby 最受歡迎),PHP,C 或 C#。

2. 供給情況

我們再來看開發人員這邊,根據網站 Codementor 的數據(Codementor 是一個比較大的程序員溝通網站,用戶在註冊時會填寫自己運用的言語,因而數據在必定程度上能夠反映開發人員把握的編程言語):

衝擊百萬年薪:11 大編程語言薪資排行榜,你還不來學Python嗎

當然,這個成果並不能準確反映實踐商場的狀況,但可以作為參閱。例如,儘管移動使用事務已經蓬勃發展了一段時間,但 Objective-C 專家依然很少。因為 Objective-C 開發人員供給缺乏,他們的薪資天然相對更高。

另一方面,PHP 在勞動力中的供給量很大,因而僱主有更多的選擇,在薪資方面議價才能更強。一起,商場對 PHP 開發人員的需求也不如 Java,SQL 或 JavaScript 那麼多。 因而,PHP 開發人員遍及收入較少。這個狀況也體現在了我們文章一開始的那張圖裡邊(參見圖2)。

JavaScript 是個很特別的比如。儘管供給量最大,但 JavaScript 開發人員並不處於薪水層的底線。

3. 薪資規模

現在,瞭解每種言語的需求和供給狀況,我們再來看看依據招聘廣告的薪資信息,你能得到的潛在薪酬。下面的數據來自 gooroo.io,依據每條招聘啟事給出的薪酬規模取了平均數:

衝擊百萬年薪:11 大編程語言薪資排行榜,你還不來學Python嗎

懂 Ruby,C++ 或 Java 的開發人員看上去開端薪酬更高。Python 和 Ruby 開發人員的薪資潛力最大,這可能意味著好的 Ruby/Python 開發人員商場缺口相對較大。

看各大語言前景,以及 Github 過去 16 年編程語言遷徙:更多人轉而使用 Python

一種編程言語將來的開展遠景怎麼?首要,這在很大程度上取決於其社區的開展,由於新鮮血液/採用率是使言語受歡迎的保證。因而,讓我們來看看人們最感興趣的言語是什麼:

衝擊百萬年薪:11 大編程語言薪資排行榜,你還不來學Python嗎

圖4:根據谷歌搜索,2016 年使用 Python 的興趣大增。

其次,Github 的項目數量能夠從必定程度上體現出言語的盛行程度。

衝擊百萬年薪:11 大編程語言薪資排行榜,你還不來學Python嗎

其中,星級超過 1000 的項目排行如下:

衝擊百萬年薪:11 大編程語言薪資排行榜,你還不來學Python嗎

同時,我們還需要注意——開發人員或許有過這樣的體會,在掙扎完結第 N 個困難不流暢的項目後,心想:“我可以用這種言語做這件事,但為什麼不換種言語愈加愉快地作業呢?”

分析了 4500 萬 GitHub 用戶、393 種不同的言語以及 10 TB 的源代碼後,Waren Long 在博客 source{d} 宣佈博文,用詳盡的數據和科學的方法展示了曩昔 16 年 Github 用戶編程言語的大變遷(也就是從一種言語換到另一種言語的狀況)。

衝擊百萬年薪:11 大編程語言薪資排行榜,你還不來學Python嗎

運用 5 種最盛行的言語(Java,C,C ++,PHP,Ruby)其間一種的開發人員,最有可能用切換到 Python,均勻 24% 的機率。

再來看一個更直觀的圖:

衝擊百萬年薪:11 大編程語言薪資排行榜,你還不來學Python嗎

曩昔 16 年,Python 和 Java 逐步替代了 C 語言。

篇幅有限,我們這裡就直接看成果了。要知道更具體的信息,能夠訪問參考資料 3。

衝擊百萬年薪:11 大編程語言薪資排行榜,你還不來學Python嗎

編程語言介紹:Python 在 2014 年成為美國高校入門課程最受歡迎語言

最後,為了想要學習編程言語的讀者,我們簡要介紹一下各種編程言語。

I. 動態言語(Dynamic Languages)

動態言語通常更簡略讓初學者學習,由於它們靈敏而風趣。你能夠從頭開始快速構建一個應用程序,需求的代碼數量較少,而且沒有硬性規矩。由於動態言語通常是十分高級(high level)的言語,所以你會花更少的時刻糾結細節,更多的時刻學習編程概念,這也是動態類型的言語受初學者歡迎的一個原因,初學者一般都會因能夠構建事物和快速看到成果得到反應而鼓動。

JavaScript

不要與 Java 混雜了,JavaScript 是首要用於前端開發的客戶端腳本言語。JavaScript 在所有瀏覽器中都兼容,用於創建交互式 Web 應用程序,通常是經過諸如 jQuery 和前端結構(比方 AngularJS,Ember.js,React 等)的庫來創建。JavaScript 也能夠經過 Node.js 渠道用作服務器端言語。過去兩年來,Node.js 開發社區已經有了很大的開展,現在你能夠在這裡找到很多資源。你還能夠經過運用諸如 phonegap 這樣的結構,用 JavaScript 構建混合移動應用程序。Facebook 的 React Native 能讓你運用 JavaScript 構建本地移動應用程序。不過,JavaScript 的難度很高,由於它是無類型的言語,因而很難調試。也有靜態類型的版別,比方 Microsoft的 TypeScript 或 JSX,在 React 上運用。

Ruby

有了 Ruby,開發人員能夠很開心腸作業。Ruby 的盛行得益於 Ruby on Rails 結構,Ruby 與英語很類似,而 Rails 結構(是全棧 Web 結構)有“開箱即用”的東西,讓開發作業變得簡略。因而,很多人會建議你首要學習 Ruby。Ruby 首要用於後端開發,一些常用大網站,比方 Airbnb,Shopify,Bloomberg,Hulu,Slideshare 都是運用 Ruby on Rails 構建的。

Python

Python 是另一種強烈推薦初學者學習言語,Python 也是美國頂尖大學最受歡迎的入門級介紹言語。開發人員運用 Python 構建桌面應用程序和網絡應用程序,Python 也是數據發掘的好東西。此外,Python 在科學計算,數據分析和生物信息學的學術界特別受歡迎。Google,Dropbox,Pinterest,Instagram,Reddit,BitTorrent,Civilization IV 等都是用 Python 構建的。

不僅如此,Python 從 2014 年起就成為美國尖端高校入門級課程教育言語(Introductory Teaching Language):

衝擊百萬年薪:11 大編程語言薪資排行榜,你還不來學Python嗎

下面是部分美國頂級高校計算機相關課程使用編程語言列表:

衝擊百萬年薪:11 大編程語言薪資排行榜,你還不來學Python嗎

圖4:美國頂級高校入門級課程使用編程語言的情況。在這裡僅列出了部分高校,更完整的表單參見參考資料 4 的網頁。

PHP

PHP 是一種服務器端腳本言語,通常被以為是初學者友愛的。要了解 PHP 代碼要做什麼比較簡略,因而 PHP 很簡略學。大多數網站都是用 PHP 構建的,因為這種言語是專門針對網絡的。Facebook,維基百科,Yahoo!, Tumblr,Wordpress 等都是用 PHP 構建的。

II. 靜態言語

運用靜態類型的言語構建的使用程序有更高的可擴展性、穩定性和可維護性。靜態言語在經過類型查看查找錯誤時一般更嚴格,而且需要更多的代碼來構建一個原型。遊戲引擎、移動使用和企業級後端通常運用靜態類型的言語構建。

Java

作為通用言語,Java 用於構建 Android 使用程序、桌面使用程序和遊戲。Java也常用作企業級後端開發的服務器端言語——90% 的財富 500 強公司運用 Java。此外,用於存儲和處理大數據的 Hadoop 是根據 Java 的盛行結構,Yahoo,Facebook 和 Amazon Web Services 等企業都在用 Hadoop。

C

C 常用於編程體系軟件,是操作體系的通用言語(lingua franca)。C 簡直影響了本文中說到的所有編程言語,尤其是 Objective-C 和 C++。所以,如果你知道 C 言語的話,你可能更簡略學習其他盛行的言語。因為 C 言語需要用更雜亂的代碼來履行簡略的使命,所以初學者如果把 C 言語作為第一言語往往很難堅持動力。可是,從長遠看,C 言語的常識必定對你程序員的作業有所協助。

Objective-C

Objective-C 是建立在 C 言語之上的一層,因而是靜態的。話雖這麼說,Objective-C 也能夠用於動態打字。Apple 的 Swift 是一種靜態言語,與 Objective-C 兼容,但它的靜態類型使其更有彈性。Swift 受 Python 啟示而來,旨在為新手輕鬆編寫新手,旨在修正 Objective-C 的一些問題。

C++

C++ 是根據 C 言語的一種強壯的言語,專為編程體系軟件而規劃,但也被用於構建遊戲/遊戲引擎,桌面使用程序,移動使用程序和網絡使用程序。C++ 功能強壯且速度很快,Facebook 用 C++ 現已開發出了好幾個高性能、高可靠性的組件。許多軟件都用 C++ 構建,包含 Adobe Systems,Amazon,Paypal,Chrome 等。與 C 言語類似,C++ 通常被以為不太好讓初學者自己學習。所以,如果你決定學習 C++ 作為你的第一個編程言語,主張與人評論或找一個導師。

C#

C# 用於微軟的 .NET 結構,主要在Microsoft Windows 上運轉。C# 用於 Web 開發、遊戲開發和一般 Microsoft 開發。此外,Xamarin 一直在開發一個名為 Mono 的開源項目,該項目旨在將 C# 移植到其他渠道,為 Linux 開發人員帶來更好的開發工具。最近,你還能夠運用 C# 經過 Xamarin 為 iOS 和 Android構 建原生手機使用。

III. 其他

SQL

SQL(“Sequel”)或結構化查詢言語,是用於與數據庫通訊的查詢言語。雖然 SQL 不能用於構建使用程序,但它用於辦理運用聯繫數據庫辦理體系(RDMS)的使用程序中的數據。

一個敲代碼生活的程序員能掙多少?不知道大家喜不喜歡看新聞,上次在一個新聞上看見一個程序員,標題是:騙婚?逼死前夫?很可能一個比馬蓉更狠的女人出現了!大家可以去看看,那個程序員的收入可能是你我的幾十倍幾百倍,不知道大神們都是通過什麼途徑弄的外快,哈哈,本期文章就到這裡了,大家想學Python的可以加群:639584010 ,我們一起學習Python,希望大家多多轉發,收藏,有什麼意見也希望大家在文章下面評論。

相關推薦

推薦中...