昨日,IEEESpectrum杂志发布了一年一度的编程语言排行榜,这个排行榜已经连续发布了五年。对于每位开发者而言,想要衡量编程语言流行度则需要依赖相对流行的网站统计数据。

IEEE Spectrum 编程语言排行榜的排序综合了 9 个重要数据源的 11 个指标,诸如 Google Search、Google Trends、Twitter、GitHub、Stack Overflow、IEEE Xplore、Hacker News 等等,对 48 种语言的流行度进行了排名。但 IEEE Spectrum 也意识到不同的程序员有不同的需求和感兴趣的领域,所以选择不将这些指标合并到单一的排行榜中。

相反,IEEE Spectrum 所开发的交互式应用程序允许开发者可以选择这些指标组合的权重,从而生成自己关心的领域语言排行。(方法和可用的来源:https://spectrum.ieee.org/static/ieee-top-programming-languages-2018-methods)当然,这个排行榜包含了一个默认的权重,根据典型的 IEEE 成员的权益进行调整,同时也提供了一些专注于开源项目有点的其他预设。程序员还可以应用筛选器,以排除不感兴趣的领域编程语言,例如嵌入式或桌面环境。这与以往的编程语言榜单比较,就可以看到了改变。

接下来,我们将共同解锁 2018 年主流的十大编程语言是什么呢?

Python 再占榜首,Java 屈居第四



2018 IEEE Spectrum 编程语言排行榜 Top 10

去年,Python(得分 100 分) 仅以 0.3 分的优势击败了 C 语言(99.7 分)。而如今看来,势头不灭反更胜的 Python 已经牢牢地站稳了第一的位置。

同时今年,C++ 也反超了 C,位居第二名,98.4 分,不过第一名 Python 和第二名 C++ 之间的差距相比去年一二名更大。

C 排名第三,得分为 98.2。

去年,Java 以 99.4 分排名第三,今年降到了 97.5 分,排名第四。Top 10 排行榜除此之外,还有 C#、PHP、R、JavaScript、Go、Assembly。其中,Assembly 是首次进入排行榜的前十名。

Python 以什么样的优势保持势头不灭?

看到这里,我们不禁再次发出疑问,为什么 Python 会持续获得程序员的青睐?而在这份编程语言排行榜中的另外两个变化可能会给我们一些提示。

Python 现在被列为嵌入式语言。以前,编写嵌入式应用程序更倾向于使用编译语言,以避免在处理能力和内存有限的机器上动态地评估代码的开销。但是,虽然摩尔定律可能正在逐渐消失,但它尚未死亡。许多现代微控制器如今拥有足够的能力来托管 Python 解释器。以这种方式使用 Python 的一个优势,在某些应用程序中通过交互式使用附加硬件或动态重新加载脚本将会非常方便。在一个新的领域开始大展身手,这只会有助于提升 Python 的受欢迎程度。

在 Top 10 的编程语言排行榜中,R 语言逐年小幅度地下降反面衬托了 Python 越来越受欢迎。R 在 2016 年达到第 5 位,去年跌至第 6 位,现在排名第 7 位。R 是专门用于处理统计数据和大数据的语言。随着对大数据集的兴趣越来越多地转向在机器学习中的应用,同时用于统计和机器学习的高质量 Python 库的存在使得灵活地 Python 比更专业的 R 更具吸引力。

其他编程语言排名

正如文章开头所述,除了默认的权重产生的排行榜之外,IEEE Spectrum 还提供了用户增速趋势、就业需求、开源、自定义这四个选项,开发者可根据自身需求或兴趣查看排行榜。

IEEE Spectrum 完整的排行榜:Swift 下降,Objective-C 上升

对比 2017 IEEE Spectrum 完整的排行榜来看,2018 年常用的编程语言中 Swift 下滑的尤为厉害,从去年第 10 名的 76 分掉到了今年的 18 名 54.4 分。不过作为开发 iOS 及 MacOS 应用程序的另一大工具 Objective-C 则有所上升,从去年的 26 名升到现在的第 21 位。

令人惊讶的是,ActionScript 在排名中略有提升。去年它排在最后,排名为0.0,彼时 IEEE Spectrum 都准备将其淘汰。然而,今年它成功地以 1.6 的分数回到倒数第二的位置,而 Forth,曾经是嵌入式世界的主力语言,如今成了垫底,如果明年它仍然为零分,那么这门语言很有可能会被淘汰掉。



IEEE Spectrum 完整的排行榜(2018 vs 2017)

用户增速编程语言排行榜:Go 语言回温

哪种编程语言用户的增量最多?排名第一的依然是 Python,其次 C++ 和 Java 都比去年上升了一位,分别位居第二、三名。而 C 语言热度相比去年有所下降,位居第四。

此外,值得一提的是,Google 的 Go 语言从第 7 位上升到第 5 位。但增长最快的还要属 Scala 莫属,从第 15 位上升到第 8 名。Scala 的创建是对 Java 的改进,因此 Java 的默认排名下降可能与 Scala 的上升趋势有关。



用户增速编程语言排行榜(2018 vs 2017)

就业需求编程语言排行榜:Java 陨落,Python 反超

在这个排行榜中,有趣的是,Python 取代了曾经的霸主 Java 位列榜首,成为就业需求中最火热的技能,而 Java 落到了去年 Python 的位置,位居第三。同时 C# 和 JavaScript 位置也发生了互换,C# 小幅度上升。

同时就业的需求引导着开发者的技术方向,Swift 在这份排行榜中依然不受欢迎,相比去年下降了 9 个名次,从第十名掉到了第十九的位置。为什么会这样?细细思考,一方面,移动开发的整体大环境大不如以前,红利期已过;另一方面,就国内而言,国产手机的崛起且几乎都是搭载了 Android 系统,相对来说,iOS 的市场份额正在逐渐缩减。此外,因原生开发成本高且效率低导致大批的优秀的前端框架出现,同时微信、百度等小程序的出现也使得前端对移动开发也带来了一定的影响。



就业需求编程语言排行榜(2018 vs 2017)

开源编程语言排行榜:Python、C++、Java、C 站位 Top 4

开源编程语言排行榜中,前四名相对去年排名并没有变化,依旧是 Python、C++、Java、C。C# 上升了一位,排名第五;其次,素有世界上较好编程语言之称的 PHP 上升了 6 名,如今排名第六。

而曾经第五的 Swift 跌出了 Top 20,排名二十二。此外,Rust、Visual Basic、Julia、Cuda、Ada、Forth 等语言都有一定幅度地下降。



开源编程语言排行榜(2018 vs 2017)

而曾经第五的 Swift 跌出了 Top 20,排名二十二。此外,Rust、Visual Basic、Julia、Cuda、Ada、Forth 等语言都有一定幅度地下降。

想要根据自己需求了解编程语言趋势,可查阅 2018 年 IEEE Specturm 编程语言排名:

https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2018