
沖擊年薪百萬前,11大編程語言薪資排行榜你了解嗎
編程語言有很多,但并非每一種的需求或工資都相同。人工智能和機器學習走熱,讓 Python 從眾多編程語言中脫穎而出。
本文將綜合各種信源,比較不同編程語言在美國市場的相關薪資水平、人氣和前景,為你提供一些參考,大量統計數據襲來,你準備好了嗎?
有這樣一個問題,使用空格和使用 Tab 的程序員誰掙得更多?你別說,還真有人做了統計:
圖1:根據 2017 年 Developer Survey 調查 12,426 名全職開發人員
由上圖可知,使用空格(紅線)的人薪資比使用 Tab 的更多,使用空格的開發人員,工資中位數為 59,140 美元,而使用 Tab 的開發人員的工資中位數為 43,750 美元。
使用空格的程序員比使用 Tab 的掙更多!
上面這個調查 Developer Survey [1]是面向全球進行的,而且不同的國家之間開發人員對空格和 Tab 的偏好差距并沒那么大——實際上,根據這份調查,不同國家和地區的程序員使用兩者的情況差不太多。
圖2:不同國家和地區開發人員對空格、Tab 的偏好差距并不太大
2017 年 Developer Survey 調查了 12,426 名全職開發人員,來自美國、印度、英國、德國、加拿大和其他地區。紅條、綠條和藍條分別表示更愛用空格、Tab 和兩者差不多。
那么,收入之間的差距可能來自于這些開發人員所使用的編程語言,比如說,移動端開發人員更喜歡使用 Tab,而 DevOps 開發人員更常使用空格。
于是,Developer Survey 調查又統計了開發人員的工作種類(比如是前端開發還是圖形設計)和他們使用的語言,薪資情況如下:
圖3:使用 Tab 的開發人員的薪資中位水平
這是個有趣的結果,但并不是決定性的。但是,有一個不可否認的事實——編程語言的種類有很多,并非每一種的需求或工資都相同。
在本文中,你將看到幾種主要編程語言的:
工作機會。
Github 流程程度及變化。
編程語言介紹(為想要學習編程的讀者準備)。
薪資排行 & 工作機會
在美國,軟件工作崗位在線招聘數量從 2007 年到 2012 年增長了 31%,比總體工作崗位增速快了 3 倍。
美國勞工統計局估計,軟件開發人員的工作從 2012 年到 2022 年將以 22% 的增幅繼續增長。這里有個數字,2016 年 5 月,軟件應用程序開發員薪資的中位數為 100,080 美元。
使用國外招聘網站 Indeed.com 上招聘廣告的數據,我們可以將編程語言的薪資水平劃分為 9 檔:
基于這個結果,Ruby/Ruby on Rails 看起來會讓你掙得最多,而 Python,C++,iOS 和 JavaScript 也是體面的選擇。如果薪資是你的主要關注點,么也許 C,PHP 和 SQL 不是最理想的選擇……
平均薪資水平可能會受諸如需求(有多少招聘職位)、供應(有多少開發人員了解語言)和經驗(資深開發人員自然掙得比初級開發人員多)等許多因素的影響,我們有必要深入了解這些因素,然后才下定論。
工作需求
根據你熟悉的編程語言找到工作的可能性有多大?以下是來自 Indeed.com 的工作趨勢:
可以看到,C,SQL,Java 和 JavaScript 在招聘啟事中經常被提到,而 C#,C++ 和 Python 也是表現不錯的語言。
另一方面,如果你的目標是在創業公司工作,那么可能 Indeed.com 的工作趨勢不是你應該參考的最佳指標。我們找到了 AngelList 網站,這里有更多美國初創公司發布的職位,來看看基于 AngelList 的軟件開發人員需要的編程技巧:
再一次地,JavaScript 高居榜首。但是,美國創業公司似乎更喜歡 Python 和 Java,對這兩者的需求超過了 Ruby(兩年前 Ruby 最受歡迎),PHP,C 或 C#。
供應情況
我們再來看開發人員這邊,根據網站 Codementor 的數據(Codementor 是一個比較大的程序員交流網站,用戶在注冊時會填寫自己使用的語言,因此數據在一定程度上可以反映開發人員掌握的編程語言):
當然,這個結果并不能準確反映實際市場的情況,但可以作為參考。例如,雖然移動應用業務已經蓬勃發展了一段時間,但 Objective-C 專家仍然很少。由于 Objective-C 開發人員供應不足,他們的薪資自然相對更高。
另一方面,PHP 在勞動力中的供應量很大,因此雇主有更多的選擇,在薪資方面議價能力更強。同時,市場對 PHP 開發人員的需求也不如 Java,SQL 或 JavaScript 那么多。 因此,PHP 開發人員普遍收入較少。這個情況也體現在了我們文章一開始的那張圖里面(參見圖2)。
JavaScript 是個很特殊的例子。盡管供應量最大,但 JavaScript 開發人員并不處于薪水層的底線。
薪資范圍
現在,了解每種語言的需求和供應情況,我們再來看看根據招聘廣告的薪資信息,你能得到的潛在工資。下面的數據來自 gooroo.io,根據每條招聘啟事給出的薪酬范圍取了平均數:
懂 Ruby,C++ 或 Java 的開發人員看上去起始工資更高。Python 和 Ruby 開發人員的薪資潛力最大,這可能意味著好的 Ruby/Python 開發人員市場缺口相對較大。
更多人轉而使用 Python
看各大語言前景,以及 Github 過去 16 年編程語言遷徙:更多人轉而使用 Python。
接下來,我們可以看看各種編程語言的前景。
一種編程語言將來的發展前景如何?首先,這在很大程度上取決于其社區的發展,因為新鮮血液/采用率是使語言受歡迎的保障。因此,讓我們來看看人們最感興趣的語言是什么:
圖4:根據谷歌搜索,2016 年使用 Python 的興趣大增
其次,Github 的項目數量能夠從一定程度上體現出語言的流行程度。
其中,星級超過 1000 的項目排行如下:
同時,我們還需要注意——開發人員或許有過這樣的體驗,在掙扎完成第 N 個艱難晦澀的項目后,心想:“我可以用這種語言做這件事,但為什么不換種語言更加愉快地工作呢?”
分析了 4500 萬 GitHub 用戶、393 種不同的語言以及 10 TB 的源代碼后,Waren Long 在博客 source{d} 發表博文,用詳盡的數據和科學的方法展現了過去 16 年 Github 用戶編程語言的大變遷(也就是從一種語言換到另一種語言的情況)。
使用 5 種最流行的語言(Java,C,C ++,PHP,Ruby)其中一種的開發人員,最有可能用切換到 Python,平均有 24% 的機率。
再來看一個更直觀的圖:
過去 16 年,Python 和 Java 逐漸取代了 C 語言。
篇幅有限,我們這里就直接看結果了。要知道更詳細的信息,可以訪問參考資料 3。
編程語言介紹
Python 在 2014 年成為美國高校入門課程最受歡迎語言,最后,為了想要學習編程語言的讀者,我們簡要介紹一下各種編程語言。
動態語言(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):
下面是部分美國頂級高校計算機相關課程使用編程語言列表:
圖5:美國頂級高校入門級課程使用編程語言的情況
在這里僅列出了部分高校,更完整的表單參見參考資料 4 的網頁。
PHP
PHP 是一種服務器端腳本語言,通常被認為是對初學者友好的。理解 PHP 代碼要做什么比較容易,因此 PHP 很容易學。
大多數網站都是用 PHP 構建的,因為這種語言是專門針對網絡的。Facebook,維基百科,Yahoo!, Tumblr,Wordpress 等都是用 PHP 構建的。
靜態語言
使用靜態類型的語言構建的應用程序有更高的可擴展性、穩定性和可維護性。靜態語言在通過類型檢查查找錯誤時一般更嚴格,并且需要更多的代碼來構建一個原型。游戲引擎、移動應用和企業級后端通常使用靜態類型的語言構建。
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 構建原生手機應用。
其他
SQL(“Sequel”)或結構化查詢語言,是用于與數據庫通信的查詢語言。雖然 SQL 不能用于構建應用程序,但它用于管理使用關系數據庫管理系統(RDMS)的應用程序中的數據。
數據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
CDA數據分析師證書考試體系(更新于2025年05月22日)
2025-05-26解碼數據基因:從數字敏感度到邏輯思維 每當看到超市貨架上商品的排列變化,你是否會聯想到背后的銷售數據波動?三年前在零售行 ...
2025-05-23在本文中,我們將探討 AI 為何能夠加速數據分析、如何在每個步驟中實現數據分析自動化以及使用哪些工具。 數據分析中的AI是什么 ...
2025-05-20當數據遇見人生:我的第一個分析項目 記得三年前接手第一個數據分析項目時,我面對Excel里密密麻麻的銷售數據手足無措。那些跳動 ...
2025-05-20在數字化運營的時代,企業每天都在產生海量數據:用戶點擊行為、商品銷售記錄、廣告投放反饋…… 這些數據就像散落的拼圖,而相 ...
2025-05-19在當今數字化營銷時代,小紅書作為國內領先的社交電商平臺,其銷售數據蘊含著巨大的商業價值。通過對小紅書銷售數據的深入分析, ...
2025-05-16Excel作為最常用的數據分析工具,有沒有什么工具可以幫助我們快速地使用excel表格,只要輕松幾步甚至輸入幾項指令就能搞定呢? ...
2025-05-15數據,如同無形的燃料,驅動著現代社會的運轉。從全球互聯網用戶每天產生的2.5億TB數據,到制造業的傳感器、金融交易 ...
2025-05-15大數據是什么_數據分析師培訓 其實,現在的大數據指的并不僅僅是海量數據,更準確而言是對大數據分析的方法。傳統的數 ...
2025-05-14CDA持證人簡介: 萬木,CDA L1持證人,某電商中廠BI工程師 ,5年數據經驗1年BI內訓師,高級數據分析師,擁有豐富的行業經驗。 ...
2025-05-13CDA持證人簡介: 王明月 ,CDA 數據分析師二級持證人,2年數據產品工作經驗,管理學博士在讀。 學習入口:https://edu.cda.cn/g ...
2025-05-12CDA持證人簡介: 楊貞璽 ,CDA一級持證人,鄭州大學情報學碩士研究生,某上市公司數據分析師。 學習入口:https://edu.cda.cn/g ...
2025-05-09CDA持證人簡介 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度、美團、阿里等 ...
2025-05-07相信很多做數據分析的小伙伴,都接到過一些高階的數據分析需求,實現的過程需要用到一些數據獲取,數據清洗轉換,建模方法等,這 ...
2025-05-06以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda.cn/g ...
2025-04-30CDA持證人簡介: 邱立峰 CDA 數據分析師二級持證人,數字化轉型專家,數據治理專家,高級數據分析師,擁有豐富的行業經驗。 ...
2025-04-29CDA持證人簡介: 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度,美團,阿里等 ...
2025-04-28CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-27數據分析在當今信息時代發揮著重要作用。單因素方差分析(One-Way ANOVA)是一種關鍵的統計方法,用于比較三個或更多獨立樣本組 ...
2025-04-25CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-25