导读:如果你还在纠结选哪门编程语言来开启你的码农生涯,这将是你的最佳指南。 本文绝非标题党,而是基于大量数据和为期两周的深入探究,在18年初,对IT行业的现状、趋势以及预测进行客观观察,让大家对编程语言有一个更清晰的认识,以选择最值得花费时间和精力的职业方向,为大家走向码农事业巅峰助攻。
在考虑最佳职业发展方向时,工程师们在选择编程语言上通常会考虑四点:
高薪,钱途第一啊毕竟
大量、多样的职位需求
越来越受欢迎的趋势
容易上手,工作友好
我们这次的名单也会考虑以上几个点,部分抓取了世界上最大的求职网站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。
▲JavaScript近5年的流行趋势:稳步增长
如果你热衷于即时可见的工作成果,比如制作交互式的 Web 组件,JavaScript 将会是你的不二选择。但值得注意的是,选择 JavaScript 意味着需要同时掌握网页构成的基础语言——HTML 和 CSS。
此外,JavaScript 还可以在 Apache Cordova 或者 React Native 这类工具上开发移动应用,甚至可以在 Electron 上进行游戏或者桌面应用开发。
▲世界上最大的求职网站 Indeed.com上的薪酬排行(平均年薪)
JavaScript 无疑是 2018 年以及往后最受欢迎的编程语言之一。值得一提的是,对于受欢迎程度较低的编程语言,其高级职位占很大比例,而大多数是初级职位的 JavaScript 可以达到如此高的薪资水平实属不易。
▲JavaScript 代码示例
02 Swift
Swift 是一门相对新的开发语言,由苹果与 2014 年发布,用于搭建基于 Mac OS 和 iOS 平台的应用程序。虽然同为苹果的 iOS 和 OS X 操作系统服务,与 Objective-C 相比,Swift 在使用性和性能上都有所提升。
Swift 普遍受到开发者的亲睐,在 2017 年“最喜欢的编程语言”中排名第四,此前在 2015 年曾排名第一。如果你选择 Swift 开启职业生涯,说不定你也会爱不释手。
▲世界上最大的求职网站 Indeed.com上的薪酬排行(平均年薪)
作为后起之秀,Swift 在 iOS 和 Mac OS 应用开发上似乎更胜于他的前辈 Objective-C. 短短几年时间 Swift 就快速流行起来,并且在多数排行榜中力压 Objective-C。一门既受开发者喜欢,薪资又高的语言,你还要求什么呢?
▲Swift近5年的流行趋势:急剧上升
▲Swift 代码示例
03 Python
如今几乎随处可见的 Python 已成为了一门通用语言。网站应用,桌面应用,网络服务,机器学习,媒体工具…统统都可以见到 python 的身影。
Python 同时也受到 NASA, Google 这样的大佬们的亲睐,python 的发明者 Guido van Rossum 在受雇于 Google 的 8 年里花了大半的时间来维护 python 的开发。
▲Python近5年的流行趋势
Python 的代码优雅整洁,结构清晰,可读性强。对于 python 而言,正确的缩进不仅只是为了美观,更是决定了代码的执行。
像 Django 和 Flask 这种基于 python 的 Web 应用框架越来越受欢迎。此外,python 还配备高质量的机器学习和数据分析的包,像 Scikit-learn 和 Pandas.
总之,python 提供了多种多样的职业方向,并且 python 作为一种高级解释编程语言,易写易理解,非常适合刚起步的开发者。
▲世界上最大的求职网站 Indeed.com上的薪酬排行(平均年薪)
几乎在所有领域,Python 都已成为佼佼者。成为 Python 领域的专家,无疑是现今最佳的职业选择
▲Python 代码示例
04 Java
大约 90%的财富 500 强企业都在使用 Java,可以说她是最普及的编程语言了。Java 最有名的口号“一次编写,到处运行”充分描述了最具吸引力的特征之一——强大的 Java 虚拟机,可以实现 Java 跨平台运行
Java 通常的职业发展方向包括后端开发人员,大数据开发人员,嵌入式工程师或者安卓开发工程师。虽然 Java 现阶段不是最流行的语言,但它使用率之高也确保了她未来很长的时间的存在。
正是由于这个原因,你可以很轻松的在各个地方找到合适的 Java 职位,这是其他相对不那么流行的编程语言难以达到的。所以如果 Java 是你的菜,那你找到合适的工作机会只是时间问题。
▲世界上最大的求职网站 Indeed.com上的薪酬排行(平均年薪)
Java 作为普及率最高的开发语言,可以提供的职位涉及广泛,这也使得 Java 在薪资榜上名列前茅,从整体上来看,Java 的工资水平是中等偏上的。
05 C++
C++设计开发于 1985 年,是一种高效而灵活的编程语言。C++具有性能优,可靠性强,多种可选的运行环境的特点,一直受到开发人员的喜爱。C++可以用来编写和维护一些复杂的系统,包括像 Microsoft, Oracle, PayPal 以及 Adobe 都是采用的 C++。
使用 C++语言的开发人员大多从事桌面应用开发,特别是一些性能要求非常严格的任务。C++的底层操作能力十分强大,虽然学习起来比较复杂,但你一旦掌握这门语言,将会有助于了解你所使用的编程语言究竟是如何实现的。
▲世界上最大的求职网站 Indeed.com上的薪酬排行(平均年薪)
C++同样一种十分受欢迎的编程语言。如果你愿意花时间去掌握她,大量工作机会将向你敞开大门,而且C++的薪资也相对偏高。
▲C++近5年的流行趋势
▲C++ 代码示例
06 Ruby
Ruby 语法简单,用户友好,是最受开发人员喜爱的语言之一,也被称为 “程序员最好的朋友”。
Ruby 作为一种高层次的编程语言,旨在用最简洁易读的代码实现更多的功能。但是也正因为 Ruby 的解释性质,使得她在效率和性能上略逊与其他语言。
编写良好的 Ruby 代码几乎看起来就像用普通英语写的句子,对于初学者来说很好上手,而且体验也很好,很适合作为入门编程语言来学习。
Ruby 最主要使用于 web 应用框架 Ruby on Rails——一种强大的基于 Ruby 的 Web 开发工具。Rails 是包装功能,更有效率,很多想快速起步的初创企业的都将 Rails 作为首选。
选择 Ruby on Rails 作为职业方向是很棒的选择,毕竟以“优化程序员的幸福”为原则的 Rails,同样有着不错的薪资待遇。唯一的缺点就是 Ruby 不如上面提到的几种语言普及度高,所以能提供的职位也相对有限。
▲世界上最大的求职网站 Indeed.com上的薪酬排行(平均年薪)
Ruby 薪资待遇高,学习和编写简单,同样是不错的职业选择。唯一的缺点是不如其他语言普及度高,某些地区的职位需求相对有限。值得一提的是,创业公司经常会需要远程工作,而Ruby (以及Ruby on Rails)则是他们的首选。
▲Ruby近5年的流行趋势:缓慢下降
▲Ruby 代码示例
07 Rust
Rust 由 Mozilla 赞助开发,连续两年在 StackOverflow 调查中被评为最受开发人员喜欢的语言。Rust 于 2010 年面世,虽然是一门非常新的语言,但已经获得广受关注,且有望在未来进一步发展。
▲Rust近5年的流行趋势:逐年上升
同样是编译语言,Rust 经常会被拿来和 C 语言在用例和性能上进行比较。两者最大的区别在于 Rust 是一种安全语言,C 语言的代码中会经常会出现悬空指针,缓存溢出等各种内存问题,而 Rust 就是为了避免这类问题出现而设计,因为 Rust 在编译阶段就解决了内存问题。
为了实现内存安全,Rust 的编写设有非常多的规则,对于初学者来说,掌握起来会相对困难。当然,对于经验丰富的程序员来说,Rust 还是非常受欢迎,很有可能在接下来的几年 Rust 的需求将会很高。
薪资方面,Rust 也属于高薪队伍,在 2017 年 StackOverflow 全球调查中排行第二。
▲Rust 代码示例
08 Elixir
另一个后起之秀Elixir,2011年一面世,就立马流行起来。
Elixir 以 Erlang 为基础,Erlang是瑞典电信设备制造商爱立信于80年代应对大规模并发活动的编程语言,Elixir语言的设计者José Valim坦言,自己喜欢Erlang的所有的同时看到了她的提升空间。Erlang最大的缺点在于他太独特的语法和运行模式以及不够直观的模块化管理。
由此,结合了Erlang和开发友好的Ruby的Elixir应运而生。Elixir主要应用于网站开发,虽然工作机会有限但薪资可观,并且在近几年越来越受欢迎。如果你所在的城市有众多IT企业,Elixir开发人员将会是追捧对象。
薪资方面,Elixir在2017年StackOverflow全球调查中排行第三。
▲Elixir近5年的流行趋势:逐年上升
▲Elixir 代码示例
09 Scala
Scala是一种实现可伸缩的语言,是众多对Java进行改进的语言之一,Scala可以与Java互操作,在编译后可在Java虚拟器上运行。可以说Scala在业界已经取得了很大的成功,像领英,推特以及卫报这样的大公司的代码库中都有Scala的身影。
对于初级程序员来说,Scala是出了名的复杂难学。但将来克服了学习曲线,真正成为一名Scala开发人员一定会越来越多。Scala开发者的薪资非常高,在2017年StackOverflow的调查中,全球前十,美国第一。
▲Scala近5年的流行趋势:稳步上升
▲Scala 代码示例
10 R
R是用于统计分析、绘图以及数据分析的语言和操作环境,同时也是数据科学家们的第一选择。如果你对这个领域感兴趣的话,R语言是一个稳定,价值高的职业方向。
▲R近5年的流行趋势:平稳向上
▲R 代码示例
以上就是 2018 年最值得考虑的前 10 种编程语言,并不是要挑起什么“语言之战”,也并不评判那些分享了自己对技术的好恶看法的程序员们。这仅仅是基于大数据得出的建议,希望对你有帮助。
作者:Alexander Petkov
译者:maistern
来源:优达学城Udacity(ID:youdaxue