京公网安备 11010802034615号
经营许可证编号:京B2-20210330
冲击年薪百万前,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
在游戏产业的商业逻辑中,付费玩家是支撑游戏生存与发展的核心支柱。行业普遍遵循 “二八定律”:20% 的付费玩家贡献了游戏 80% ...
2026-06-11【核心关键词】企业、定位、传统、产品、互联网、可视化、业务侧、数字化、结构化、数据分析、传统制造业、市场状态、发展空间 ...
2026-06-11 解读《CDA二级教材:量化策略分析(2025)》的全景结构与学习逻辑 ” CDA二级认证是企业招聘数据分析师时最常提及的证书门槛 ...
2026-06-11【核心关键词】药企、可视化、营销、分类、数据分析师、销售数据、业务人员、指导方向、分析报告、营销数据、营销医生 【专访摘 ...
2026-06-10在统计学分析、问卷调研、实验验证、业务复盘等场景中,卡方检验与 T 检验是应用最广泛的两类基础假设检验方法。前者专门处理分 ...
2026-06-10 很多数据分析师每天都在计算指标、制作报表,但当被问到“什么叫指标数据元”“指标数据标准包含哪些核心维度”“指标数据质 ...
2026-06-10在MySQL数据库日常查询、数据统计、后台接口开发、数据导出等场景中,开发者经常需要查询数据表除某几列之外的所有字段。例如查 ...
2026-06-09在Python网络请求、爬虫开发、接口测试、数据抓取等实操场景中,requests库是最常用的第三方请求工具,而content属性是requests ...
2026-06-09 数据分析正在重塑每一个行业。CDA认证的三本官方教材,分别对应Level I、Level II、Level III,为你铺就从业务数据分析到数 ...
2026-06-09在数字财务、智慧财税、业财融合深度推进的当下,传统财务模式下数据标准混乱、业务流程碎片化、知识无法沉淀、系统互通性差等问 ...
2026-06-08随着数字经济深度渗透各行各业,数据正式成为继土地、劳动力、资本、技术之后的第五大生产要素,是企业数字化转型、精细化运营、 ...
2026-06-08 很多数据分析师能熟练写SQL、做透视表,但当被问到“数据是从哪里来的?经过哪些加工才进入数据仓库?ETL具体做了什么?”时 ...
2026-06-08【核心关键词】贷款、报表、课程、专业、建模、缺失值、营销、互联网、银行、办公自动化、数据分析、数据预处理、特征工程、贷 ...
2026-06-05在数据库数据查询、业务报表统计、多表关联分析中,LEFT JOIN左连接是使用率最高的SQL关联查询语句。其核心特性是保留左表全部数 ...
2026-06-05 很多数据分析师能熟练地写SQL、做透视表、算描述性统计,但当被问到“如何预测用户流失概率”“如何归因销量下滑的关键因素 ...
2026-06-05任何一款产品从诞生、普及到最终退出市场,都会遵循一套固定的发展规律,这就是产品生命周期理论。在市场竞争日益激烈、产品迭代 ...
2026-06-04在Excel数据分析、办公统计、业务报表制作场景中,数据透视表是数据汇总、分类统计、快速复盘的核心工具,能够高效完成海量原始 ...
2026-06-04 很多数据分析师拿到数据就开始清洗、建模,但当被问到“这批数据属于什么类型——结构化还是非结构化?分类变量还是数值变量 ...
2026-06-04在问卷调查与社会科学数据分析中,卡方检验是最常用、最基础的非参数检验方法,广泛应用于市场调研、用户分析、行为统计、满意度 ...
2026-06-03【核心关键词】贷款、报表、课程、专业、建模、缺失值、营销、互联网、银行、办公自动化、数据分析、数据预处理、特征工程、贷 ...
2026-06-03