盘点丨2018年最适合学习的编程语言

作者 Alexander Petkov

编译 Mika 本文为 CDA 数据分析师原创作品,转载需授权

观看更多国外公开课,点击"阅读原文"

对于在2018年想学习编程语言的人来说,本篇文章是值得参考的指南。

需要明确的是,这并不是介绍最热门的语言,然后抛出各种名称和流行语。而是根据2018年IT行业现状、趋势和客观的预测

本文列出了十个在2018年学习的编程语言,旨在帮助你选择适合自己、值得花时间和精力去掌握的语言,并且帮助你顺利开启开发人员的职业生涯。

当选择哪种编程语言时,开发人员通常会考虑以下四个因素:

· 薪资

· 热门度

· 市场需求

· 易于学习和工作

本文对每种语言将介绍以下内容:

· 简短的介绍。让你熟悉这门语言适合什么类型的职业,以及其优势所在;

· TIOBE 和 GitHub Octoverse的语言热门度

· Indeed.com 和 StackOverflow的2017年语言薪酬比较

· 谷歌趋势。该语言过去五年的需求趋势

最后,列出的四种语言在过去几年中迅速流行起来,预计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 年最流行的框架中前四名有三个是基于JavaScript的。

如果你希望立即看到工作成果,比如如制作交互式Web组件,那么JavaScript是一个不错的选择。请记住,使用JavaScript意味着你应该熟悉HTML和CSS,这是网页的基本构成。

Apache Cordova或React Native等工具允许在移动应用中使用JavaScript。甚至可以通过Electron等项目进行游戏开发或桌面应用开发。

热门度和薪资情况

1. TIOBE 排名: #6 ( 2018.1)

TIOBE排名是编程语言热门程度的指标。

该排名根据全球专业工程师、课程、第三方供应商和搜索引擎的数量

2. GitHub Octoverse: #1

统计于2017年底统计。

在GitHub上最流行的语言pull request(单位为百万)。

GitHub拥有2400万用户的开源项目,这些开源项目在6700万个存储库中,由337种不同的编程语言所编写。

3. Indeed.com 美国薪资 : 中等

Indeed.com是全球就业求职搜索引擎。目前覆盖60多个国家和28种语言。

2010年10月,Indeed.com超过Monster.com成为美国访问量最高的求职网站。

4. StackOverflow 全球薪资: 中等

数据来自2017年,超过6.4万名开发者参与调查。

StackOverfllow是最大的开发者社区,每月访问量超过5000万。

自2011年以来,StackOverflow每年都会对开发者进行调查,询问他们最喜欢的技术、代码和工作习惯。

流行趋势

过去5年的流行趋势: 稳步增长

结论

JavaScript无疑是2018年及以后最流行的语言之一。

由于大多数受访者的职位是初级的,因此这种类型的语言薪资很难在排名中高居榜首。不像那些不太热门的语言,高级职位占比更大。

2. Swift

Swift是苹果于2014年发布的一种相对较新的编程语言,用于开发iOS或MacOS应用。

与Objective-C相比,它在可用性和性能方面有所改进, Objective-C是用于iOS和OS X操作系统的语言。

Swift通常很受开发者的青睐,在2015年排名第一之后,在2017年最受喜爱的语言排行榜中排名第四。如果你选择Swift相关的职业,你很可能会喜欢它。

如果你想进入移动开发领域,Swift是高薪的不错选择。通常,iOS应用比Android应用更赚钱。

热门度和薪资情况

1. TIOBE 排名: #12

2. GitHub Octoverse: #13

3. Indeed.com 美国薪资: 高

4. StackOverflow 全球薪资: 高于平均水平

流行趋势

过去5年的流行趋势:急剧上升

结论

对于iOS和macOS应用来说,比起它的前身Objective-C,Swift是一种更新更好用的语言。

仅仅几年的时间,Swift的人气已经很高,在大多数排行榜上已经超过Objective-C。这种语言被开发人员所喜爱,而且薪资很高。

3. Python

Python是一种通用语言,如今几乎无处不在。你可以在网络应用、桌面应用、网络服务器、机器学习、媒体工具等地方看到它。

NASA、谷歌等大型公司都在使用Python,其中Python创建者Guido van Rossum在谷歌工作的八年,主要都在使用Python。

Python代码整洁、可读、结构良好。

Django和Flask等基于Python的Web开发框架已经越来越受欢迎。此外,该语言还配备了高质量的机器学习和数据分析库,如Scikit-learn和Pandas。

总体而言,Python的职业发展路径各不相同。对于初学者开发人员来说,这是不错的选择,因为它是高级的,易于阅读和理解。

热门度和薪资情况:

1. TIOBE 排名: #4

2. GitHub Octoverse: #2

3. Indeed.com 美国薪资: 高

4. StackOverflow 全球薪资: 高

流行趋势

过去5年的流行趋势:显著上升

结论

Python无疑是当今和不久的将来不错的选择。这门语言几乎在各个方面都名列前茅。

4. Java

Java可以说是最受欢迎的编程语言,因为90%的财富500强公司都在使用它。Java那句著名的"write once, run anywhere"阐述了Java的价值所在,强大的Java虚拟机(JVM)让它做到跨平台兼容。

Java的热门职业是后端开发人员、大数据开发人员、嵌入式系统工程师以及Android开发人员。虽然Java并非目前最“流行”的语言,但Java的使用频率非常高,在未来十年甚至更长时间内都是如此。

正因为如此,你可以确信在你的城市有大量的Java工作职位,本文列举的许多语言都不具有这里优势。因此,如果你喜欢使用Java,找到合适的工作只是时间问题。

热门度和薪资情况:

1. TIOBE 排名: #1

2. GitHub Octoverse: #3

3. Indeed.com 美国薪资: 中等

4. StackOverflow 全球薪资: 高于平均水平

流行趋势

过去5年的流行趋势:下降

结论

Java可以说是最受欢迎的编程语言,而且受访者中工作职位多样,使得Java在工资排名中非常高。

5. C ++

C ++是高效且灵活的语言,于1985年创建。由于其性能、可靠性以及能够在各种环境下使用, C++的市场需求很大。

许多大型系统已经使用C ++创建和维护,包括Microsoft,Oracle,PayPal和Adobe等。

使用C ++通常包括开发桌面应用,尤其是性能密集型任务。虽然该语言相当复杂,但通过熟悉C++你会更深入地理解语言是如何工作的,例如为低内存操作提供工具。

热门度和薪资情况:

1. TIOBE 排名: #3

2. GitHub Octoverse: #6

3. Indeed.com 美国薪资: 高

4. StackOverflow 全球薪资: 高

流行趋势

过去5年的流行趋势:起伏不定

结论

C++是非常流行的语言,如果你花时间去掌握它,那么工作的选择面会很大,而且工资通常高于平均水平。

6. Ruby

Ruby是最受欢迎的编程语言之一。Ruby易于开发人员使用,标语是“ 程序员最好的朋友”

Ruby是一种高级语言,旨在通过几行干净、可读的代码实现很多功能。这需要花费大量精力,因此与其他语言相比,Ruby在效率方面相对较慢, 但它肯定会提高你的工作效率。

写得很好的Ruby代码看起来就像用英文句子。对于初学者来说,这是很好的选择。

Ruby主要用于其最流行的框架Ruby on Rails。Ruby on Rails是一个Web框架,它将Ruby的所有想法封装为强大的Web工具。Rails的巨大生产力让其成为创业公司的共同选择。

选择Ruby on Rails绝对是一个不错的选择,因为该框架易于使用,而且收入很高。唯一缺点在于,比起前面提到的语言Ruby不是太该受欢迎。因此,在寻找使用Ruby的职位时会有一定限制。

热门度和薪资情况:

1. TIOBE 排名: #11

2. GitHub Octoverse: #4

3. Indeed.com 美国薪资: 高

4. StackOverflow 全球薪资: 高

流行趋势

过去5年的流行趋势:下降

结论

Ruby是不错的选择,因为薪酬丰厚,而且语言本身也很有趣。

唯一的缺点是Ruby不像其他语言那样受欢迎,找工作时可能会有一定局限性。但注意,Ruby(以及Ruby on Rails)常常是那些经常采用远程办公的创业公司的首选。

7. Rust

Rust由Mozilla基金会赞助,在StackOverflow年度调查中连续第二年被开发人员评为最受欢迎的语言。这是一种相对较新的语言,首次出现在2010年,如今已经较为流行,预计将来还会进一步提高。

Rust是一种编译型语言,在用例和性能方面经常与C进行比较。主要区别在于Rust是内存安全的。在C代码中最常见的错误有悬挂指针(dangling pointers),缓冲区溢出(buffer overflows)或者内存错误。Rust是为了避免这些而创建的,从而让你在编写时(在代码运行前)不可能犯这类错误。

由于需要掌握各种规则来实现记忆安全性,对于初学者来说学习Rust有一定难度。然而,有经验的开发人员喜欢使用Rust,而且在未来几年会有很高的市场需求。

薪资方面,根究StackOverflow的2017年调查,Rust薪资较高,全球排名第二。

选择Rust的另一个理由是,该语言是由IT领域家喻户晓的Mozilla开发的。

过去5年的流行趋势:上升

8. Elixir

Elixir是另一种新语言,首次出现于2011年,接着很快流行起来。

Elixir受到Erlang的启发,Erlang是爱立信在1980年代开发的一种语言,这是用于高度并发性的最佳工具之一。Elixir的开发者JoséValim表示,他特别喜欢Erlang,但也看到了一些改进余地。对于开发者来说,Erlang最大缺点是语法古怪,缺乏直观的包管理。

因此,Elixir出现了。这将Ruby的易于使用和生态系统与Erlang相结合。

Elixir主要用于网络开发,收入较高,但职位选择有限。该语言越来越流行,因此如果你所在的城市有各种各样的IT公司,Elixir开发者可能会受到追捧。

薪资方面,根据StackOverflow 2017年调查,在全球薪资中排名第三。

过去5年的流行趋势:上升

9. Scala

Scala的名称来自于"Scalable Language(可伸缩性语言)"。Scala代码在Java虚拟机(JVM)上运行。

LinkedIn、Twitter和The Guardian等大型公司都在其代码库中使用 Scala,因此可见Scala很流行。

对于初级开发者来说,Scala较复杂。但是适应了该语言的人会有较好的职业发展,因为Scala开发人员的职位选择将越来越多。

薪资方面,根据StackOverflow的2017年调查,Scala在全球薪资中排名第十,并在美国居第一位。

过去5年的流行趋势:上升

10. R语言

R是一种编程语言,用于统计、图形表示和数据分析。R语言是数据科学家的首选。如果你对数据科学领域感兴趣,那么R对你来说是不错的选择。

过去5年的流行趋势:稳步上升

原文链接:

https://medium.freecodecamp.org/best-programming-languages-to-learn-in-2018-ultimate-guide-bfc93e615b35

原文发布于微信公众号 - CDA数据分析师(cdacdacda)

原文发表时间:2018-03-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT派

这么多编程语言,而我为什么要学 Python?

今天分享的4个关于Python编程语言的故事,来看看人工智能时代爆发的Python。 每个人都知道Python是“AI时代最好的编程语言”。 ? 言归正传,我们...

5095
来自专栏程序员互动联盟

给年轻程序员的几句话

我收到了不少新手的来信,他们都希望能成长为一名真正的程序员。我绝对不是第一个谈论这个话题的人,所以,我不知道应该做哪方面的补充。不管怎样,下面的是一些一直记在我...

3539
来自专栏喔家ArchiSelf

PHP 是最好的语言吗?

最近被朋友们拉入了几个技术社群,有微信群,也有QQ群,尤其对一些年轻的朋友,大家乐此不疲的问题居然是 PHP 是最好的语言么?

1662
来自专栏Crossin的编程教室

你的游戏开发第0课

电子游戏是许多人喜爱甚至沉迷的事情。尤其对于程序员来说,开发游戏是不少人最初学习编程的动力。在之前,我发过一些游戏开发的教程和案例:

1042
来自专栏CSDN技术头条

专访李哲,和一个“不安分”的程序员谈Ruby和开源

之所以采访李哲,可能很大的原因是因为他是一个“不安分”的开发者吧。从一家知名的国企离开,在当时看来是需要不少勇气的。第一次接触到他,是看到他在RubyChina...

3286
来自专栏web前端教室

前端知识学了却不会用,都是没走心

我发现,许多人在学习前端的时候,更多的时候是处于一种“对外宣称正在学习中”的状态。而他本人真正的学习了多少前端知识?未必。 我之前就多次说过,“学习前端开发不是...

1946
来自专栏架构说

不要在一门技术上吊死

现象 刚出道的朋友,特别是刚踏入社会的学生,总是希望今后干活用的一定是自己熟悉的语言,当领导安排做其它的不同技术性活的时候,对于语言上的不同,心理上很排斥。 对...

40013
来自专栏CDA数据分析师

学习 Python 编程的 19 个资源

作者 codecondo 编译 wzhvictor segmentfault.com/a/1190000004187319 用Python编写代码一点...

3596
来自专栏java工会

Go语言能够取代Java,成为下一个王者吗?

近几年来,Go语言真是越来越火了。我也做过几个Go语言的项目了,我们公司很多微服务的项目也在由Java往Go上面转了。我们来看看Tiobe世界编程语言排行的最新...

2034
来自专栏编程

一个五年开发经验过来人谈如何自学 Python?

其实python非常适合初学者入门。相比较其他不少主流编程语言,有更好的可读性,因此上手相对容易。自带的各种模块加上丰富的第三方模块,免去了很多底层的工作,可以...

2176

扫码关注云+社区

领取腾讯云代金券