您的位置:慕斯娱乐 > 编程语言 >
编程语言

冲击年薪百万11大编程语言薪资排行榜再不看就晚

2018-11-16作者:admin来源:未知次阅读

  编程语言有很多,但并非每一种的需求或工资都相同。人工智能和机器学习走热,让 Python 从众多编程语言中脱颖而出。

  本文将综合各种信源,比较不同编程语言在美国市场的相关薪资水平、人气和前景,为你提供一些参考,大量统计数据袭来,你准备好了吗?

  有这样一个问题,使用空格和使用 Tab 的程序员谁挣得更多?你别说,还真有人做了统计:

  由上图可知,使用空格(红线)的人薪资比使用 Tab 的更多,使用空格的开发人员,工资中位数为 59,140 美元,而使用 Tab 的开发人员的工资中位数为 43,750 美元。

  上面这个调查 Developer Survey [1]是面向全球进行的,而且不同的国家之间开发人员对空格和 Tab 的偏好差距并没那么大实际上,根据这份调查,不同国家和地区的程序员使用两者的情况差不太多。

  2017 年 Developer Survey 调查了 12,426 名全职开发人员,来自美国、编程语言印度、英国、德国、加拿大和其他地区。红条、绿条和蓝条分别表示更爱用空格、Tab 和两者差不多。

  那么,收入之间的差距可能来自于这些开发人员所使用的编程语言,比如说,移动端开发人员更喜欢使用 Tab,而 DevOps 开发人员更常使用空格。

  于是,Developer Survey 调查又统计了开发人员的工作种类(比如是前端开发还是图形设计)和他们使用的语言,薪资情况如下:

  这是个有趣的结果,但并不是决定性的。但是,有一个不可否认的事实编程语言的种类有很多,并非每一种的需求或工资都相同。

  美国劳工统计局估计,软件开发人员的工作从 2012 年到 2022 年将以 22% 的增幅继续增长。这里有个数字,2016 年 5 月,软件应用程序开发员薪资的中位数为 100,080 美元。

  使用国外招聘网站上招聘广告的数据,我们可以将编程语言的薪资水平划分为 9 档:

  平均薪资水平可能会受诸如需求(有多少招聘职位)、供应(有多少开发人员了解语言)和经验(资深开发人员自然挣得比初级开发人员多)等许多因素的影响,我们有必要深入了解这些因素,然后才下定论。

  另一方面,如果你的目标是在创业公司工作,那么可能的工作趋势不是你应该参考的最佳指标。我们找到了 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 开发人员市场缺口相对较大。

  看各大语言前景,以及 Github 过去 16 年编程语言迁徙:更多人转而使用 Python。

  一种编程语言将来的发展前景如何?首先,这在很大程度上取决于其社区的发展,因为新鲜血液/采用率是使语言受欢迎的保障。因此,让我们来看看人们最感兴趣的语言是什么:

  同时,我们还需要注意开发人员或许有过这样的体验,在挣扎完成第 N 个艰难晦涩的项目后,心想:“我可以用这种语言做这件事,但为什么不换种语言更加愉快地工作呢?”

  分析了 4500 万 GitHub 用户、393 种不同的语言以及 10 TB 的源代码后,Waren Long 在博客 source{d} 发表博文,用详尽的数据和科学的方法展现了过去 16 年 Github 用户编程语言的大变迁(也就是从一种语言换到另一种语言的情况)。

  使用 5 种最流行的语言(Java,C,C ++,PHP,Ruby)其中一种的开发人员,最有可能用切换到 Python,平均有 24% 的机率。

  篇幅有限,我们这里就直接看结果了。要知道更详细的信息,可以访问参考资料 3。

  Python 在 2014 年成为美国高校入门课程最受欢迎语言,最后,为了想要学习编程语言的读者,我们简要介绍一下各种编程语言。

  动态语言通常更容易让初学者学习,因为它们灵活而有趣。你可以从头开始快速构建一个应用程序,需要的代码数量较少,并且没有硬性规则。

  由于动态语言通常是非常高级(high level)的语言,所以你会花更少的时间纠结细节,更多的时间学习编程概念,这也是动态类型的语言受初学者欢迎的一个原因,初学者一般都会因能够构建事物和快速看到结果得到反馈而受到鼓舞。

  不要与 Java 混淆了,JavaScript 是主要用于前端开发的客户端脚本语言。JavaScript 在所有浏览器中都兼容,用于创建交互式 Web 应用程序,通常是通过诸如 jQuery 和前端框架(比如 AngularJS,Ember.js,React 等)的库来创建。

  JavaScript 也可以通过 Node.js 平台用作服务器端语言。过去两年来,Node.js 开发社区已经有了很大的发展,现在你可以在这里找到很多资源。你还可以通过使用诸如 phonegap 这样的框架,用 JavaScript 构建混合移动应用程序。

  有了 Ruby,开发人员可以很开心地工作。Ruby 的流行得益于 Ruby on Rails 框架,Ruby 与英语很类似,而 Rails 框架(是全栈 Web 框架)有“开箱即用”的工具,让开发工作变得简单。因此,很多人会建议你首先学习 Ruby。

  Python 是另一种强烈推荐初学者的学习语言,Python 也是美国顶尖大学最受欢迎的入门级介绍语言。开发人员使用 Python 构建桌面应用程序和网络应用程序,Python 也是数据挖掘的好工具。

  PHP 是一种服务器端脚本语言,通常被认为是对初学者友好的。理解 PHP 代码要做什么比较容易,因此 PHP 很容易学。

  使用静态类型的语言构建的应用程序有更高的可扩展性、稳定性和可维护性。静态语言在通过类型检查查找错误时一般更严格,并且需要更多的代码来构建一个原型。游戏引擎、移动应用和企业级后端通常使用静态类型的语言构建。

  作为通用语言,Java 用于构建 Android 应用程序、桌面应用程序和游戏。Java也常用作企业级后端开发的服务器端语言90% 的财富 500 强公司使用 Java。

  C 常用于编程系统软件,是操作系统的通用语言(lingua franca)。C 几乎影响了本文中提到的所有编程语言,尤其是 Objective-C 和 C++。所以,如果你知道 C 语言的话,你可能更容易学习其他流行的语言。

  由于 C 语言需要用更复杂的代码来执行简单的任务,所以初学者如果把 C 语言作为第一语言往往很难保持动力。但是,从长远看,C 语言的知识肯定对你程序员的工作有所帮助。

  Objective-C 是建立在 C 语言之上的一层,因此是静态的。话虽这么说,Objective-C 也可以用于动态打字。

  Apple 的 Swift 是一种静态语言,与 Objective-C 兼容,但它的静态类型使其更有弹性。Swift 受 Python 启发而来,旨在为新手轻松编写程序,旨在修复 Objective-C 的一些问题。

  C++ 是基于 C 语言的一种强大的语言,专为编程系统软件而设计,但也被用于构建游戏/游戏引擎,桌面应用程序,移动应用程序和网络应用程序。

  C++ 功能强大且速度很快,Facebook 用 C++ 已经开发出了好几个高性能、高可靠性的组件。许多软件都用 C++ 构建,包括 Adobe Systems,Amazon,Paypal,Chrome 等。与 C 语言类似,C++ 通常被认为不太好让初学者自己学习。

  所以,如果你决定学习 C++ 作为你的第一个编程语言,建议与人讨论或找一个导师。

  此外,Xamarin 一直在开发一个名为 Mono 的开源项目,该项目旨在将 C# 移植到其他平台,为 Linux 开发人员带来更好的开发工具。最近,你还可以使用 C# 通过 Xamarin 为 iOS 和 Android 构建原生手机应用。

  SQL(“Sequel”)或结构化查询语言,是用于与数据库通信的查询语言。虽然 SQL 不能用于构建应用程序,但它用于管理使用关系数据库管理系统(RDMS)的应用程序中的数据。

冲击年薪百万11大编程语言薪资排行榜再不看就晚 相关的内容:

关于 冲击年薪百万11大编程语言薪资排行榜再不看就晚 的评论