最多金的编程语言Top10:Python第3,R第10,你猜第1是谁?

640?wx_fmt=gif


导读:如果你还在纠结选哪门编程语言来开启你的码农生涯,这将是你的最佳指南。


本文绝非标题党,而是基于大量数据和为期两周的深入探究,在18年初,对IT行业的现状、趋势以及预测进行客观观察,让大家对编程语言有一个更清晰的认识,以选择最值得花费时间和精力的职业方向,为大家走向码农事业巅峰助攻。


640?wx_fmt=jpeg


在考虑最佳职业发展方向时,工程师们在选择编程语言上通常会考虑四点:


  • 高薪,钱途第一啊毕竟

  • 大量、多样的职位需求

  • 越来越受欢迎的趋势

  • 容易上手,工作友好


我们这次的名单也会考虑以上几个点,部分抓取了世界上最大的求职网站Indeed.com上的数据进行综合排名(Indeed.com覆盖60多个国家,28种语言。2010年10月,Indeed.com超越Monster.com跃居美国流量第一的求职网站),但并非每一种编程语言都是往好的方向发展,话不多说,快让我们来看一下Top10是哪些吧!



01 JavaScript


Stack Overflow的联合创始人Jeff Atwood曾说过一句著名的话:“所有应用程序都可以,且最终都将用JavaScript来写。”


据 StackOverflow 的年度调查显示,受到 62.5%被调查者亲睐的 JavaScript 被评选为最受欢迎的编程语言。在过去十年里,JavaScript 发展显著,并在 Web 开发领域占有绝对优势。


可以说在 2018 年甚至以后,JavaScript 市场充满机会。JavaScript 已经深入像 Angular, React, Ember, Backbone 这种前段框架,以及 Node.js(一种支持 JavaScript 在服务端高效运行的平台)等平台,2017 年,StackOverflow 评选出的四种最受欢迎的框架中有三种都是基于 JavaScript。


640?wx_fmt=jpeg

▲JavaScript近5年的流行趋势:稳步增长


如果你热衷于即时可见的工作成果,比如制作交互式的 Web 组件,JavaScript 将会是你的不二选择。但值得注意的是,选择 JavaScript 意味着需要同时掌握网页构成的基础语言——HTML 和 CSS。


此外,JavaScript 还可以在 Apache Cordova 或者 React Native 这类工具上开发移动应用,甚至可以在 Electron 上进行游戏或者桌面应用开发。

640?wx_fmt=png

▲世界上最大的求职网站 Indeed.com上的薪酬排行(平均年薪)


JavaScript 无疑是 2018 年以及往后最受欢迎的编程语言之一。值得一提的是,对于受欢迎程度较低的编程语言,其高级职位占很大比例,而大多数是初级职位的 JavaScript 可以达到如此高的薪资水平实属不易。


640?wx_fmt=png

▲JavaScript 代码示例



02 Swift


Swift 是一门相对新的开发语言,由苹果与 2014 年发布,用于搭建基于 Mac OS 和 iOS 平台的应用程序。虽然同为苹果的 iOS 和 OS X 操作系统服务,与 Objective-C 相比,Swift 在使用性和性能上都有所提升。


Swift 普遍受到开发者的亲睐,在 2017 年“最喜欢的编程语言”中排名第四,此前在 2015 年曾排名第一。如果你选择 Swift 开启职业生涯,说不定你也会爱不释手。


640?wx_fmt=png

▲世界上最大的求职网站 Indeed.com上的薪酬排行(平均年薪)


作为后起之秀,Swift 在 iOS 和 Mac OS 应用开发上似乎更胜于他的前辈 Objective-C. 短短几年时间 Swift 就快速流行起来,并且在多数排行榜中力压 Objective-C。一门既受开发者喜欢,薪资又高的语言,你还要求什么呢?


640?wx_fmt=jpeg

▲Swift近5年的流行趋势:急剧上升


640?wx_fmt=png

▲Swift 代码示例



03 Python


如今几乎随处可见的 Python 已成为了一门通用语言。网站应用,桌面应用,网络服务,机器学习,媒体工具…统统都可以见到 python 的身影。


Python 同时也受到 NASA, Google 这样的大佬们的亲睐,python 的发明者 Guido van Rossum 在受雇于 Google 的 8 年里花了大半的时间来维护 python 的开发。


640?wx_fmt=jpeg

▲Python近5年的流行趋势


Python 的代码优雅整洁,结构清晰,可读性强。对于 python 而言,正确的缩进不仅只是为了美观,更是决定了代码的执行。


像 Django 和 Flask 这种基于 python 的 Web 应用框架越来越受欢迎。此外,python 还配备高质量的机器学习和数据分析的包,像 Scikit-learn 和 Pandas.


总之,python 提供了多种多样的职业方向,并且 python 作为一种高级解释编程语言,易写易理解,非常适合刚起步的开发者。


640?wx_fmt=png

▲世界上最大的求职网站 Indeed.com上的薪酬排行(平均年薪)


几乎在所有领域,Python 都已成为佼佼者。成为 Python 领域的专家,无疑是现今最佳的职业选择


640?wx_fmt=png

▲Python 代码示例



04 Java


大约 90%的财富 500 强企业都在使用 Java,可以说她是最普及的编程语言了。Java 最有名的口号“一次编写,到处运行”充分描述了最具吸引力的特征之一——强大的 Java 虚拟机,可以实现 Java 跨平台运行


Java 通常的职业发展方向包括后端开发人员,大数据开发人员,嵌入式工程师或者安卓开发工程师。虽然 Java 现阶段不是最流行的语言,但它使用率之高也确保了她未来很长的时间的存在。


正是由于这个原因,你可以很轻松的在各个地方找到合适的 Java 职位,这是其他相对不那么流行的编程语言难以达到的。所以如果 Java 是你的菜,那你找到合适的工作机会只是时间问题。


640?wx_fmt=png

▲世界上最大的求职网站 Indeed.com上的薪酬排行(平均年薪)


Java 作为普及率最高的开发语言,可以提供的职位涉及广泛,这也使得 Java 在薪资榜上名列前茅,从整体上来看,Java 的工资水平是中等偏上的。



05 C++


C++设计开发于 1985 年,是一种高效而灵活的编程语言。C++具有性能优,可靠性强,多种可选的运行环境的特点,一直受到开发人员的喜爱。C++可以用来编写和维护一些复杂的系统,包括像 Microsoft, Oracle, PayPal 以及 Adobe 都是采用的 C++。


使用 C++语言的开发人员大多从事桌面应用开发,特别是一些性能要求非常严格的任务。C++的底层操作能力十分强大,虽然学习起来比较复杂,但你一旦掌握这门语言,将会有助于了解你所使用的编程语言究竟是如何实现的。


640?wx_fmt=png

▲世界上最大的求职网站 Indeed.com上的薪酬排行(平均年薪)


C++同样一种十分受欢迎的编程语言。如果你愿意花时间去掌握她,大量工作机会将向你敞开大门,而且C++的薪资也相对偏高。


640?wx_fmt=jpeg

▲C++近5年的流行趋势


640?wx_fmt=png

▲C++ 代码示例



06 Ruby


Ruby 语法简单,用户友好,是最受开发人员喜爱的语言之一,也被称为 “程序员最好的朋友”。


Ruby 作为一种高层次的编程语言,旨在用最简洁易读的代码实现更多的功能。但是也正因为 Ruby 的解释性质,使得她在效率和性能上略逊与其他语言。


编写良好的 Ruby 代码几乎看起来就像用普通英语写的句子,对于初学者来说很好上手,而且体验也很好,很适合作为入门编程语言来学习。


Ruby 最主要使用于 web 应用框架 Ruby on Rails——一种强大的基于 Ruby 的 Web 开发工具。Rails 是包装功能,更有效率,很多想快速起步的初创企业的都将 Rails 作为首选。


选择 Ruby on Rails 作为职业方向是很棒的选择,毕竟以“优化程序员的幸福”为原则的 Rails,同样有着不错的薪资待遇。唯一的缺点就是 Ruby 不如上面提到的几种语言普及度高,所以能提供的职位也相对有限。


640?wx_fmt=png

▲世界上最大的求职网站 Indeed.com上的薪酬排行(平均年薪)


Ruby 薪资待遇高,学习和编写简单,同样是不错的职业选择。唯一的缺点是不如其他语言普及度高,某些地区的职位需求相对有限。值得一提的是,创业公司经常会需要远程工作,而Ruby (以及Ruby on Rails)则是他们的首选。


640?wx_fmt=jpeg

▲Ruby近5年的流行趋势:缓慢下降


640?wx_fmt=png

▲Ruby 代码示例



07 Rust


Rust 由 Mozilla 赞助开发,连续两年在 StackOverflow 调查中被评为最受开发人员喜欢的语言。Rust 于 2010 年面世,虽然是一门非常新的语言,但已经获得广受关注,且有望在未来进一步发展。


640?wx_fmt=jpeg

▲Rust近5年的流行趋势:逐年上升


同样是编译语言,Rust 经常会被拿来和 C 语言在用例和性能上进行比较。两者最大的区别在于 Rust 是一种安全语言,C 语言的代码中会经常会出现悬空指针,缓存溢出等各种内存问题,而 Rust 就是为了避免这类问题出现而设计,因为 Rust 在编译阶段就解决了内存问题。


为了实现内存安全,Rust 的编写设有非常多的规则,对于初学者来说,掌握起来会相对困难。当然,对于经验丰富的程序员来说,Rust 还是非常受欢迎,很有可能在接下来的几年 Rust 的需求将会很高。


薪资方面,Rust 也属于高薪队伍,在 2017 年 StackOverflow 全球调查中排行第二。


640?wx_fmt=png

▲Rust 代码示例



08 Elixir


另一个后起之秀Elixir,2011年一面世,就立马流行起来。


Elixir 以 Erlang 为基础,Erlang是瑞典电信设备制造商爱立信于80年代应对大规模并发活动的编程语言,Elixir语言的设计者José Valim坦言,自己喜欢Erlang的所有的同时看到了她的提升空间。Erlang最大的缺点在于他太独特的语法和运行模式以及不够直观的模块化管理。


由此,结合了Erlang和开发友好的Ruby的Elixir应运而生。Elixir主要应用于网站开发,虽然工作机会有限但薪资可观,并且在近几年越来越受欢迎。如果你所在的城市有众多IT企业,Elixir开发人员将会是追捧对象。


薪资方面,Elixir在2017年StackOverflow全球调查中排行第三。


640?wx_fmt=jpeg

▲Elixir近5年的流行趋势:逐年上升


640?wx_fmt=png

▲Elixir 代码示例



09 Scala


Scala是一种实现可伸缩的语言,是众多对Java进行改进的语言之一,Scala可以与Java互操作,在编译后可在Java虚拟器上运行。可以说Scala在业界已经取得了很大的成功,像领英,推特以及卫报这样的大公司的代码库中都有Scala的身影。


对于初级程序员来说,Scala是出了名的复杂难学。但将来克服了学习曲线,真正成为一名Scala开发人员一定会越来越多。Scala开发者的薪资非常高,在2017年StackOverflow的调查中,全球前十,美国第一。


640?wx_fmt=jpeg

▲Scala近5年的流行趋势:稳步上升


640?wx_fmt=png

▲Scala 代码示例



10 R


R是用于统计分析、绘图以及数据分析的语言和操作环境,同时也是数据科学家们的第一选择。如果你对这个领域感兴趣的话,R语言是一个稳定,价值高的职业方向。


640?wx_fmt=jpeg

▲R近5年的流行趋势:平稳向上


640?wx_fmt=png

▲R 代码示例


以上就是 2018 年最值得考虑的前 10 种编程语言,并不是要挑起什么“语言之战”,也并不评判那些分享了自己对技术的好恶看法的程序员们。这仅仅是基于大数据得出的建议,希望对你有帮助。


作者:Alexander Petkov

译者:maistern

来源:优达学城Udacity(ID:youdaxue)

文章版权归原作者所有,转载仅供学习使用,不用于任何商业用途,如有侵权请留言联系删除,感谢合作。

640?wx_fmt=png


640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303390.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[转贴]制作windows 2003自动安装盘-集成补丁/Raid及硬件驱动

从事网游行业的工作人员,如果一款游戏上线,必须上大量服务器。用品牌机引导盘装系统,再打个补丁,速度真让人不敢恭维。为了提高效率,就尝试制作一张集成系统补丁/RAID及硬件驱动自动安windows 2003系统盘。下面以品牌机…

4月 .NET 线上 Meetup,快来报名

点击蓝字关注我们.NET 6 preview 2 在3月11日已经发布,.NET 6 将是 .NET Core 3.1 之后的第一个 LTS 版本,也是微软开启全平台统一一个 .NET 计划以来的第一个 LTS 版本,意义不可谓不大,那么 .NET 5/6 又会带来哪些新特性呢&#…

NP完全性理论与近似算法

一、图灵机根据有限状态控制器的当前状态及每个读写头读到的带符号,图灵机的一个计算步可实现下面3个操作之一或全部。改变有限状态控制器中的状态。清除当前读写头下的方格中原有带符号并写上新的带符号。独立地将任何一个或所有读写头,向左移动一个方格…

阿里25k 百度25k,招WPF!

.NET5打通7大开发方向,CLR超高性能,.NET6支持Blazor嵌入WPF,还有MAUI跨平台UI解决方案,都是.NET的利好,也是WPF的利好。牛年跳槽季,.NET在客户端方向一骑绝尘,阿里影视、百度地图,以…

掌握神经网络模型的快捷方式

TensorFlow是Google基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow实际上就是张量从流…

.Net项目模板(Project Template)

你有没有这样的感觉,开启一个新项目时,总是做一堆体力活——项目的结构层次,常用日志库,OpenAPI库,ORM库,的引入,权限认证方式选择添加,配置文件重新归置存放等等。公共框架的部分总…

谈通过测试与失败测试

在软件测试技术中,现有的测试方法、测试技术中均未提及到通过测试与失败测试。 而在实际项目测试过程中,很多项目组却再应用该方法。虽然该方法被采用,但是很多人对通过测试与失败测试理解并不透侧,在实际使用过程中并未按统一的标…

100个微信小程序的源码公开分享

现在微信小程序越来越火,小编一直有意识地收集微信小程序源码,至今已经拥有100个小程序的源码,有gank、LOL战绩查询、百度小说、豆瓣电影、手势解锁等。现在,小编准备将这些资料免费分享给大家!gankLOL战绩查询百度小说…

家里在一二线城市有很多套房是什么体验?答案太颠覆!

作者:匿名来源:知乎(图片:网络)“家里在一二线城市有很多套房是怎么的一种体验?”这是知乎上一个浏览超600万的话题。其中一个答案非常颠覆,获得高赞。作者的观点是否正确见仁见智,但…

希尔排序听起来有点难,其实很简单

前言直接插入排序当待排序数据的顺序和期望排序结果相反时,排序效率是最差的;上次聊到的折半插入排序只是减少有序列表的比较次数,而对于整体数据遍历次数还是没有得到优化;接下来要说的希尔排序就是针对整体数据进行优化&#xf…

等我敲完这行代码,就和你离婚!

工作是高端大气上档次,工资是低调奢华接地气!我们叫做“程序猿”,也叫“攻城狮”!但是往往城还没攻下来,我们的头发就先掉下来!我们最喜欢听的一句话就是☟段子一“等我敲完这行代码,就和你离婚…

深夜,学妹遇到了数据分析师生涯的第一个疑问

大家好,我是大鹏,目前是一名数据分析师。自从上次学妹深夜给我发微信,询问数据分析师招聘要求和需要掌握的技能,已经过去2个月了。直到昨天,我再次收到了学妹的召唤:当天深夜 学妹深夜求助,定是…

你知道WPF与WinForms的区别吗?

介绍WPF的缩写指微软的Windows Presentation Foundation,而WinForms是Windows Forms Applications的简单组合。这两个都是微软的Windows应用程序图形用户界面,开发人员可以使用它们来开发Windows桌面应用程序。本文重点介绍两种开发Windows桌面应用程序的…

一起谈.NET技术,发布NGuestBook(一个基于.NET平台的分层架构留言本小系统)

发布NGuestBook的动机说明 大约在半年前,我在博客上发表了一个系列文章:《基于.NET平台的分层架构实战》。当时在讲解过程中用到了一个叫NGuestBook的案例,在那以后,有很多朋友留言或发E-mail希望能得到NGuestBook的完整源代…

当Java、C++、Python等编程语言都变成妹子。。。

试想一下,当Java、C、Python、Ruby、PHP、C#、JS等编程语言变成了动漫人物会是怎样的一幅场景呢?下面就一起看看在日本作家渡辺将人的笔下,各种编程语言都是哪类“美女”的吧!Java犹如宫泽贤治的《不畏风雨》中出现的、性格木讷的…

对MySQL 进行深入学习是非常必要的

MySQL 在互联网行业非常流行,腾讯,阿里等互联网巨头都在深入使用MySQL, 我在腾讯时也使用MySQL,我在微信群里经常听到大家对MySQL 的意见也很大。在传统企业环境下使用最多的数据库产品是Oracle,SQL Server等企业级数据库&#xf…

4月 .NET 线上 Meetup,快来报名

点击蓝字关注我们.NET 6 preview 2 在3月11日已经发布,.NET 6 将是 .NET Core 3.1 之后的第一个 LTS 版本,也是微软开启全平台统一一个 .NET 计划以来的第一个 LTS 版本,意义不可谓不大,那么 .NET 5/6 又会带来哪些新特性呢&#…

机器学习资料第3版,助你继续成长!

之前分享的两份机器学习资料得到很多人的支持,因此小编决定再分享一份机器学习的资料。前两份资料传送门:【资源】机器学习资料包来袭机器学习资料升级版来了!!!现在,再来看看有什么新资料吧。How to Build…

人工智能、机器学习、深度学习,到底他们哥仨是什么关系?

有三个词,这两年出现的频率越来越高:人工智能(AI),机器学习(ML),深度学习(DL),到底他们哥仨是什么关系?今天小编化繁为简,…

如何在 ASP.NET Core 中使用 HttpClientFactory ?

ASP.Net Core 是一个开源的,跨平台的,轻量级模块化框架,可用它来构建高性能的Web程序,这篇文章我们将会讨论如何在 ASP.Net Core 中使用 HttpClientFactory。为什么要使用 HttpClientFactory 可以用 HttpClientFactory 来集中化管…