Python 连续三年夺冠、PHP 受排挤,揭晓 IEEE Spectrum 2019 年度编程语言排行榜
以下文章来源于CSDN ,作者CSDN App
IEEE Spectrum 编程语言排行榜一年发布一次,这个排行榜已经连续发布了六年。每个开发者都需要相对流行的网站统计数据,与其他的语言排行榜不同,IEEE Spectrum 可以让开发者自己选择参数组合时的权重,得到多样的排序结果。
而且 IEEE Spectrum 今年进行了重大改革,针对求职者内置了一些预设的权重,改变了一些基础指标,从 8 个数据源的 11 个指标中获取数据。程序员还可以应用筛选器,以排除不感兴趣的领域编程语言,这样一来,结果会显得更鲜明。但是,基本的思想和方法仍然相同:将多个来源的数据组合起来,对编程语言的流行程度进行排名。
那么下面,让我们看看今年的排名是怎样的,流行的趋势又是否有所变化呢?
作者 | 黄浩然
责编 | 屠敏
出品 | CSDN(ID:CSDNnews)
IEEE Spectrum 2019 十大编程语言排行如下:
Python稳居榜首,且连续夺冠三年
尽管基本指标有所变化,但总体的结果仍然相似,Python 始终处于领先地位。Python 的流行在很大程度上是受了大量可用专用库的驱动,特别是在人工智能领域中。事实上,Keras 库对深度学习开发人员影响很大。但是深入学习并不是Python 产生巨大的影响的唯一领域,微处理器计算能力的显著提高意味着嵌入式版本的 Python:如 CircuitPython 和 MicroPython,正越来越受制造商的欢迎。
而 Python 为何能连续三年夺冠?
Python 的高速发展主要原因是软件工程的蓬勃发展,它吸引了许多零基础的初学者。Java 的编程方法对于初学者来说太冗长了,单单想要完全理解和运行在 Java 中的“hello world”这样的简单程序,你就需要去了解类、静态方法和包。在 C 语言中,这要简单一些,但是在内存管理上还是会出现一些问题。但在 Python 这里,就只是一行代码的事。所以,Python 越来越流行,被越来越多的开发者使用。
Java、C 和 C++ 的战局
排在二三四名的是 Java、C 和 C++,这个小组的成员长期互相争斗,无论在哪个排行榜都是你来我往,但都被Python稳压一头。而且在调整了指标后,这之间的距离有所扩大,C++比Python低了12.5。而Java从去年的第四名回升到了第二名,三者的排名和去年的刚好相反。
那么 Java 为什么依然能荣登第二呢?
第一,Java 语言依然是被最广泛使用的编程语言之一。目前 Java 语言在 Web 开发领域、Android 开发领域、大数据开发领域以及各种后端服务开发领域都有广泛的用户基础,可以说 Java 语言的生态环境已经比较健全了,这种情况下,采用 Java 语言将会明显降低程序开发的风险,因此 Java 语言将依然是软件团队最为常见的选择之一。
第二,随着 5G 标准的逐渐落地,未来物联网的发展将会迎来更多的机会,而物联网的发展必将带动大数据、云计算、人工智能领域的发展,而 Java 在这些领域都有比较广泛的应用,所以未来 Java 语言在产业互联网阶段,也会有比较普遍的应用。
如下是去年 TOP 10 排名:
Swift冲至第九名!
对比去年的榜单,PHP 在前十的排名中已经不见踪影,Go 则下跌了一个名次。
另外,去年不在榜单上的 Swift,今年冲到了第九名,这是为何?
Swift 是由苹果创建的强大而直观的编程语言,它的使命是用于构建苹果体系内的应用程序。而且Swift 可以在苹果体系内的所有平台上构建应用程序,诸如iOS、Mac、Apple TV 和 Apple Watch。
苹果公司为了顺应时代于 2014 年推出了 Swift 语言,目前已经是第四个版本了。Swift 优势在于融合了现代语言特性,是一门非常容易学习的语言。而且经过这5年发展,Swift 生态圈基本成熟,目前有大量的开源代码可供使用。
而且,2019 年 WWDC 大会上,苹果在压轴环节向大众宣布了基于 Swift 语言构建的全新 UI 框架 —— SwiftUI。开发者可通过它快速为所有的 Apple 平台创建美观、动态的应用程序。在介绍过程中,苹果公司软件工程高级副总裁 Craig Federighi 演示了如何将一百行代码简化为大约十几行。
从以上的信息可以看出 Swift 的发展趋势,而今年的排行榜也证明了这一点。
R 语言为何能上升?
数字运算语言 R 今年排名第五,比去年上升了两名,尽管它是一种比其他语言更专业的语言,但伴随着越来越多的大数据,近年来一直保持着它的流行度。
虽说 R 语言常年被 Python 打压,可仍然比去年提升了两名,这要得益于它的几个特性:
命令模式。Python 虽然也支持命令模式,但是相对来说,更偏向于流程控制语句。R 本身基本上不需要用到流程控制(当然,它也支持流程控制)。
交互性。这是命令模式的一个特点,敲回车,出结果,但是又不像 SPSS那种用鼠标扎针的交互方式。
统计学特性。这是 R 语言最大的特点,比如:
赋值的时候,不用等号(=),用的是指向(<-),带来的问题就是要写 a < -5 这种语句,就需要 a < (-5) 这样写。
其他编程语言排名
正如文章开头所述,除了默认的权重产生的排行榜之外,IEEE Spectrum 还提供了用户增速趋势、就业需求、开源、自定义这四个选项,开发者可根据自身需求或兴趣查看排行榜。
IEEE Spectrum 完整的排行榜:Matlab 位居第八,Fortran 38位
位居第八,由 MathWorks 开发并用于数值计算的专有语言 Matlab 的出现可能让一些人惊讶,它反映了该语言在硬件工程中的突出地位,特别是对于那些对运行模拟感兴趣或者通过 MathWorks 的图形 Simulink 包创建控制系统的用户。
在前 10 名之下,有一些值得注意的,尤其是 Fortran,尽管已有 60 多年的历史,仍然排在第 38位,可见原始科学计算语言依然具有巨大的传统力量。并且,随着 2018 年最新 Fortran 标准的发布,该语言仍在积极开发中。
用户增速编程语言排行榜:JavaScript上升
随着 Nodejs 的大面积使用,前端开发后端化是一个较为明显的趋势,JavaScript 正在从传统的前端开发走向后端开发,这对 Java 语言的应用也会造成一定的影响。目前 JavaScript 的开源项目非常多,这在一定程度上也促进了 JavaScript 的应用和发展,所以对于 Java 程序员来说,未来掌握JavaScript 也是有一定必要的。
就业需求编程语言排行榜:PHP下滑
AI和大数据时代的趋势很大,Python 开发者人数正在增加,人工智能时代 PHP确实有点尴尬,导致很多人各种原因转了 Python, 10~15 年后还有多少 PHP 开发者不得而知,或者 PHP 找到了新的切入点,就像沉默了几十年的Python 如今找到了自己的归属地一样,需要时间来检验。
开源编程语言排行榜:Python、Java、C、C++ 位置依然坚挺
该排行榜中,前四名相对去年排名并没有变化,依旧是 Python、Java、C、C++。其中 Java 上升了一位,排名第二;其次,素有世界上最好编程语言之称的 PHP 下降至11 名。
值得一提的是 JavaScript 上升了 3 名,现在是第五名。
更多详细内容详见 IEEE Spectrum 官网:https://spectrum.ieee.org/computing/software/the-top-programming-languages-2019