- A+
源 | medium.freecodecamp.org 译 | 36氪
编者按:旨在帮助初级开发人员找到高质量工作的 MyFirstITJob.com 创始人 Alexander Petkov 在本文中就开发人员在 2018 年应该考虑选择的十门编程语言给出了自己的建议,帮助开发人员了解 2018 年 IT 市场将会需要什么样的编程语言,从而做出决定在哪个方面投入更多的时间和精力,也有助于开发人员了解掌握哪些内容才能走上成功的软件开发员之路,或者是掌握哪门语言才能在成功的道路上越走越远。
对于那些想在 2018 年选择正确的编程语言职业道路的人来说,本文是一份指南。首先,我需要说明以下几点:
本文并不是围绕一堆流行语或几位名人展开的一篇“热门编程语言”帖子。
这是在 2018 年初对 IT 行业目前状态、趋势以及近期发展预测的一份客观、实际性评估。
本文建立在多渠道来源可信统计数据基础之上,并且在撰写本文之前我进行了为期两周的深入研究。
本文旨在帮助您了解 2018 年 IT 市场将会需要什么样的编程语言,有助于您做出决定在哪个方面投入时间和精力,也让您了解到掌握哪些内容将会帮助你走上成功的软件开发员道理,或者是让你在成功的道路上越走越远。
要想确定哪种编程语言会帮助软件开发人员走上职业路径时,我们通常寻求的是以下这四个特征:
1、高薪
2、高人气——大量的职位空缺,多样化
3、未来需求会更加旺盛
4、相对容易掌握,工作起来也比较愉快
对于我在下文介绍的各种编程语言,您将看到以下几个内容模块:
1、一个简短的介绍,带你熟悉这门语言,这门编程语言会为你带来什么类型的职业选择以及这门语言的酷炫之处在哪里
2、根据 TIOBE 编程语言排行榜以及 GitHub Octoverse 数据得出的一个编程语言流行度排行
3、根据 Indeed.com 和 StackOverflow 2017 年调查数据进行薪酬对比
4、根据 Google Trends 得出该语言在过去五年的需求变化趋势
5、一个简短的代码片段,让你对该编程语言的语法有一个大致的视觉概念
最后,我列出的是四种知名度相对较低的编程语言,这四种语言在过去几年的流行度也迅速提高,预计2018 年的需求会非常高。
1、JavaScript
根据 StackOverflow 年度调查数据显示,JavaScript 是最流行的编程语言,有 62.5% 的受访者声称自己使用的是 JavaScript。JavaScript 无疑是网络世界的主导性语言,在过去十年的时间里发展势头非常迅猛。为什么这么说?只要环顾四周,数一下你看到了多少网络设备即可。Stack Overflow 的联合创始人 Jeff Atwood 也是一位知名度很高的编程者,他曾说过:“任何可以用 JavaScript 编写的应用程序最终都将用 JavaScript 来编写。”
记住这句话,我们可以肯定的一点是,2018 年以及未来的那些年,都不会缺少 JavaScript 编程人员的工作机会。JavaScript 知识与包括 Angular、React、Ember 和 Backbone 等在内的许多前端框架以及Node.js 运行时环境相通,让您可以更高效的在后端运行 JavaScript。据 StackOverflow 数据统计,2017 年最流行的前 4 个框架中,有 3 个是建立在 JavaScript 基础之上。
如果你喜欢做完之后立即能看到工作成果,例如制作交互式 Web 组件,那对你来说 JavaScript 是一个不错的选择。要记住的一点是,选择 JavaScript 作为职业道路就意味着你也要接受 HTML 和 CSS,因为这些基本上都是用来制作网页的。
像 Apache Cordova 或者是 React Native 这样的工具可以帮助你将 JavaScript 应用于移动应用程序,甚至有可能通过像 Electron 这样的项目将 JavaScript 用于游戏开发或者是桌面应用程序开发。
下面看一下 JavaScript 的相关数据。
JavaScript 流行度和薪酬对比数据
1、TIOBE 排行:#6(2018 年 1 月)
TIOBE 排行是用于衡量编程语言流行度的一个指标。排行结果是建立在全球熟练工程师数量,课程、第三方供应商以及搜索引擎数量基础之上。
2、GitHub Octoverse: #1
2017 年底数据
GitHub 拥有各种开源项目,用户达 2400 万人,这些项目是在 6700 万个库中以 337 种独特的编程语言编写而成。据公开的 Pull Request 数据显示,JavaScript 是 GitHub 上最受欢迎的编程语言(以万为单位进行展示)。
从前到后依次是JavaScript、Python、Java、Ruby、PHP、C++、C#
3、在 Indeed.com 上的薪资情况:中等
Indeed.com 是用于求职以及发布职位的一个国际性搜索引擎平台,目前面向 60 多个国家开放,支持28 种语言。2010 年 10 月,Indeed.com 超过 Monster.com 成为美国流量最高的求职网站。
4、在 StackOverflow 上的薪资情况:中等
来自 2017 年的统计数据,超过 64000 名开发者参与了调查。StackOverfllow 当之无愧是最大的开发者社区,每月访问量超过 5000 万次。自 2011 年以来,StackOverfllow 每年都会进行一次调查,询问开发人员他们喜欢的技术、编码和工作习惯等信息。
国际范围
美国
小结
JavaScript 无疑是 2018 年及以后最受欢迎的编程语言之一。
由于大多数参与调查的职位可能都属于初级职位,所以薪水很难在排行榜上高居榜首。正是因为JavaScript 流行度非常高,所以不像其它编程语言那样,在接受调查的人员中,高级职位占比例更高。
过去 5 年 JavaScript 的流行趋势:稳步增长
JavaScript 代码片段示例:
2、Swift
Swift 是 2014 年由苹果发布的一门相对较新的编程语言,用于开发本地 iOS 或 MacOS 应用程序。与用于苹果 iOS 和 OS X 操作系统的编程语言 Objective-C 相比,Swift 在可用性和性能方面均有所提升。
开发者通常都比较青睐 Swift 这门编程语言。2015 年,在最受开发者喜爱的编程语言排行榜中,Swift 排名首位,2017 年排名为第四位。如果你选择 Swift 作为自己的职业发展方向,那你很可能会喜欢上这份职业。
如果你想进入移动开发领域,那你绝对应该考虑选择 Swift 作为自己的高薪职业发展道路。一般说来,从事 iOS 应用程序开发工作比安卓应用程序开发薪资更高一些。
Swift 流行度和薪酬对比数据
1、TIOBE 排行:#9(2018 年 1 月)
2、GitHub Octoverse: #5
从前往后依次是 JavaScript、Python、Java、Ruby、Swift、Scala、Objective-C
3、在Indeed.com 上的薪资情况:高等
4、在 StackOverflow 上的薪资情况:中等偏上
国际范围
美国
小结
对于 iOS 和 MacOS 应用程序来说,Swift 比它的前身 Objective-C 更新也更好。仅仅几年的时间内,Swift 就积累了很高的声望,并且在大多数排行榜中都击败了 Objective-C。这种语言为开发者所喜爱,并且收入不菲,这不正是你选择职业道路时所看重的两个方面吗?
过去 5 年 Swift 的流行趋势:急剧上升
Swift 代码片段示例:
3、Python
Python 是一种通用语言,现在几乎在任何地方,您都可以找到它,无论是网络应用程序、桌面应用程序、网络服务器,还是机器学习以及媒体工具等。像 NASA 和谷歌这样的大公司也都使用这一编程语言,Python 的发明者 Guido van Rossum 在谷歌工作了八年的时间,工作主要就是……编写 Python。
Python 代码整洁、可读性高,并且结构清晰,适当的缩进并不仅仅是为了美观,而是决定了代码的执行。像 Django 和 Flask 等基于 Python 的 Web 开发框架已经变得越来越受欢迎。除此之外,该语言还配备了很多高质量的机器学习和数据分析库,包括 Scikit-learn 和 Pandas 等。
总体来说,Python 的职业发展道路非常多样化,对于刚进入编程领域的开发人员来说是一个不错的选择,因为它易于读取,易于理解。
Python 流行度和薪酬对比数据
1、TIOBE 排行:#4(2018 年 1 月)
2、GitHub Octoverse: #2
从前往后依次是 JavaScript、Python、Java、Ruby、Swift、Scala、Objective-C
3、在 Indeed.com 上的薪资情况:高等水平
4、在 StackOverflow 上的薪资情况:高等水平
国际范围
美国
小结
无论是着眼于当下还是未来几年,成为一名 Python 编程专家无疑是最好的职业选择之一,这门语言在不同部门的表现都算是名列前茅。
过去 5 年 Python 的流行趋势:表现不俗
Python 代码片段示例:
4、Java
Java 可以说是最受欢迎的编程语言,90% 的财富 500 强公司都大量使用这一语言。Java 那句广为人知的口号“一次编写,处处运行”也体现出了 Java 价值的关键所在—它强大的 Java 虚拟机(JVM)使得 Java 具有跨平台兼容性。
目前流行的 Java 职业路径包括后端开发员、大数据开发员,嵌入式系统工程师或安卓开发员。虽然Java 并非是目前“最具发展趋势”的语言,但 Java 的使用频率非常高,以至于我们几乎可以断定它在未来十年甚至更长时间内都不会过时。
也就是说,你可以放心,无论是你当前所处的城市,还是遥远的某个地方,都会有大量的 Java 工作职位,但我在本文所提到的其它流行度相对较低的编程语言却不能保证如此。所以,如果你觉得 Java 方向不错,那找到合适的职位指日可待。
Java 流行度和薪酬对比数据
1、TIOBE 排行:#1(2018 年 1 月)
2、GitHub Octoverse: #3
从前往后依次是 JavaScript、Python、Java、Ruby、Swift、Scala、Objective-C
3、在 Indeed.com 上的薪资情况:中等水平
4、在 StackOverflow 上的薪资情况:中等偏上
美国
小结
毫无疑问,Java 现在是流行的编程语言,并且相关工作岗位都会涉及到广泛的工作经验,这也使得 Java 行业薪资在排行榜中位居高位。但是,据我进行的相关研究,我发现 Java 行业薪资往往是略高于平均水平薪资。
过去 5 年 Java 的流行趋势:下降
Java 代码片段示例:
5、C++
C++ 最早出现于 1985 年,是一种高效、灵活的编程语言。由于它的性能、可靠性以及可以应用到的不同环境,目前行业对于 C++ 的需求仍然很高。许多大型系统都成功地运用 C ++完成了创建和维护,其中包括微软、甲骨文、PayPal 和 Adobe 等。
C++ 方向的职业路径通常涉及开发桌面应用程序,尤其是性能密集型任务。虽然 C++ 相当复杂,但掌握这门编程语言能够让你深入了解编程语言是怎样发挥作用的。
C++ 流行度和薪酬对比数据
1、TIOBE 排行:#3(2018 年 1 月)
2、GitHub Octoverse: #6
从前往后依次是 JavaScript、Python、Java、Ruby、Swift、Scala、Objective-C
3、在 Indeed.com 上的薪资情况:高等水平
4、在 StackOverflow 上的薪资情况:高等水平
国际范围
美国
小结
C++ 是一门流行度很高的编程语言,如果你肯花时间来掌握这门语言,就有各种不同的职位供你选择。并且,C++ 行业薪资通常都高于平均水平。
过去 5 年 C++ 的流行趋势:起起伏伏
C++ 代码片段示例:
6、Ruby
Ruby 是最受人喜爱的编程语言之一。设计风格友好,便于开发人员使用,它的宣传语说的都是“程序员最好的朋友”。Ruby 是一种高级语言,旨在通过几行整洁、可读性高的代码来实现很多功能。有时,这背后需要耗费大量的精力,这也使得 Ruby 与其它编程语言相比效率较低,但它肯定能提高你的生产力。
写的不错的 Ruby 代码看起来就像是用平白的英文写成的句子一样。对于编程人员来说,很适合选择Ruby 作为自己学习的第一门编程语言,因为初学者通常都会快速的掌握这门语言,并且享受整个过程。
Ruby 目前主要是用于其最流行的一个框架——Ruby on Rails 之中。Ruby on Rails 是一个 Web 框架,它能够将所有的 Ruby 想法结合到一起,成为一项强大的 Web 工具。使用 Ruby 能够大幅提升生产力,对于那些想实现良好开端的初创企业来说,Ruby 可以说是他们的一个共同选择。
选择 Ruby on Rails 作为自己的职业方向绝对是一个不错的选择,因为该框架“是以让程序员快乐为目标而进行的优化”,并且薪资水平也很高。选择该语言作为职业方向唯一的缺点在于,与之前所提到的几种编程语言相比,Ruby 的流行度没有那么高。因此,在某些地方,Ruby 相关的职位需求可能并不多。
Ruby 流行度和薪酬对比数据
1、TIOBE 排行:#8(2018 年 1 月)
2、GitHub Octoverse: #4
3、在 Indeed.com 上的薪资情况:高等水平
4、在 StackOverflow 上的薪资情况:高等水平
国际范围
美国
小结
Ruby 方向是一个很不错的职业选择。因为 Ruby 方向职位薪资高,并且这门语言本身编写起来也很有趣。
唯一的缺点是 Ruby 不像一些竞争对手那么受欢迎,而且在你所在区域,相关职位需求可能并不旺盛。但是,要知道,那些采用远程工作形式的初创企业通常比较青睐 Ruby(Ruby on Rails)。
过去 5 年 Ruby 的流行趋势:下降
Ruby 代码片段示例:
7、Rust
Rust 由 Mozilla 基金会赞助,在 StackOverflow 调查中已经连续两年被评为开发人员最喜爱的编程语言。Rust 是一门相对较新的编程语言,最早出现于 2010 年,短短几年时间内却积累了不俗的知名度,并且有望在未来进一步提高。
Rust 是一种编译语言,在用例以及性能方面经常被拿来与 C 语言进行比较。两者之间的主要区别在于Rust 内存安全。C 代码最常见的错误就是悬空指针、缓存溢出或者是其他类型的一些内存错误。而Rust 就是为避免这些错误而创建的——这种语言在编译期间(代码运行之前)就能捕捉到类似的错误,从而让你无法再犯这样的错误。
对于初学者来说,在掌握 Rust 的过程中可能会有些挣扎,因为它会有各种规则要求来保证内存安全性。但是有经验的开发人员都很喜欢这门编程语言,并且在未来几年,行业对于 Rust 的需求应该会非常高。
就薪资方面来看,Rust 相关职位薪资待遇不错,在 StackOverflow 的 2017 年调查排行榜中排在第二位。除此之外,还有一个因素是你选择 Rust 的理由,Rust 是由 IT 界家喻户晓的 Mozilla 主导开发的一门编程语言。
过去 5 年 Rust 的流行趋势:上升
Rust 代码片段示例:
8、Elixir
Elixir 也是一门新型编程语言,首次出现于 2011 年,很快便流行开来。Elixir 的开发灵感来自于Erlang,Erlang 是爱立信在二十世纪八十年代开发的一种语言,无疑是支持超大量级并发的好工具。Elixir 的设计者 José Valim 自己曾说过他喜欢 Erlang 方方面面,但也认为它还有改进的余地。对于开发人员来说,Erlang 最大的缺点在于语法和可用性非常古怪,并且缺乏直观的包管理。
因此,才会出现 Elixir,Elixir 将 Ruby 这门高度开发的友好型语言和生态系统与 Erlang 相结合。Elixir主要用于网络开发,相关职位收入较高,但选择性有限。这门编程语言的流行度一年比一年高,所以如果你所在的城市有各种各样的 IT 公司,那 Elixir 开发人员应该会受到高度追捧。
从薪资角度来看,在 StackOverflow 的 2017 年调查排行榜中,Elixir 相关职位薪资水平排在第三位。
过去 5 年 Elixir 的流行趋势:上升
Elixir 代码片段示例:
9、Scala
Scala 是一门多范式编程语言,是“重写 Java”的众多尝试成果之一,旨在改进 Java 存在的一切缺点,在 Java 虚拟机上运行。鉴于 LinkedIn、Twitter 和 The Guardian 等大公司都在其代码库中使用了Scala,可以说 Scala 已经取得了成功。
对于初级开发人员来说,Scala 算是一门比较复杂的语言。但是那些已经掌握了这门语言的人可能会走上很好的职业道路,因为面向 Scala 开发人员的职位会越来越多。
根据 StackOverflow 2017 年报告数据显示,Scala 相关职位薪资水平名列前茅,在全球范围内位列前十名,在美国位居首位。
过去 5 年 Scala 的流行趋势:上升
Scala 代码片段示例:
10、R 语言
R 语言是用于统计、绘图和数据分析的编程语言和操作环境,是数据科学家的首选。如果你对数据科学领域感兴趣,那 R 语言对你来说是一个稳定并且能赚到钱的职业选择方向。
过去 5 年 R 语言的流行趋势:稳步上升
R 代码片段示例:
以上就是 2018 年你该考虑学习的十大编程语言。
原文链接:https://medium.freecodecamp.org/best-programming-languages-to-learn-in-2018-ultimate-guide-bfc93e615b35
36氪编译组出品。编辑:郝鹏程
关注刘鹏看未来(ID:lpoutlook)
比别人早一步看见未来!
▼▼▼