2019年度顶级编程语言互动排名出炉,Python仍占第一位 | 智能技术

发布日期:2019-09-25 10:00


欢迎来到IEEE Spectrum的第六届顶级编程语言年度互动排名。今年,我们进行了重大改革,改变了一些基础指标并构建了新的简化界面。但我们的基本思想和方法仍然相同:将来自多个来源的数据结合起来,对用于您感兴趣的编码类型的编程语言的流行程度进行排名。

我们采用这种方法来解决所有确定编程语言普及程度的两个基本障碍:(1)当他们敲击键盘时,没有人能真正看到世界上每个编码器的肩膀;(2)一种语言是一个编程领域的基石,在另一个编程领域可能完全无关紧要。Spectrum从8个来源获取11个指标的数据,我们认为这些指标是受欢迎程度的良好代理,我们将结果组合在一个应用程序中,该应用程序允许您过滤语言并调整给予每个指标的权重。结果是适合您的排名。(作为我们改革的一部分,我们已经退出了前几年使用的两个指标,因为我们认为它们不再产生高质量的数据,并且包含了来自IEEE工作现场的数据,并在列表中添加了一些新语言,例如Dart。)

当然,我们还内置了一些预设的权重,这些权重是针对求职者而优化的,例如,或者有兴趣潜入开源项目的人。我们的默认权重针对典型的频谱阅读器进行了优化,让我们来看看它所显示的2019年的十大语言。

虽然我们的基本指标的变化意味着我们在直接将今年的排名与去年的排名进行比较时必须慎重,但结果的总体轮廓仍然相似,而人工智能编程语言Python则始终处于领先地位。Python的受欢迎程度在很大程度上受到大量可用的专用库的驱动,特别是在人工智能领域,Keras库是深度学习开发人员中的重量级人物:Keras提供了TensorFlow的接口,CNTK,和Theano深度学习框架和工具包。深度学习并不是Python在1991年首次发布语言时无法预料的唯一领域微控制器中计算能力的急剧增加意味着嵌入式Python版本,如CircuitPython和MicroPython,在制造商中越来越受欢迎。

接下来是Java,C和C ++,这个小组的成员长期互相争斗,并且以Python作为头把交椅,尽管通过我们调整后的指标,这些竞争者之间的距离已经扩大,C ++的得分为12.5分在Python下面。(在任何给定的排名中,排名最高的语言被分配为100分,并且排名较低的语言的分数被缩放到该分数。)数字运算语言R排在前五位。尽管它是一种比其他语言更专业的语言,但由于世界充斥着越来越多的大数据,它近年来一直保持着它的流行程度。

进一步进入前10名,由MathWorks开发并用于数值计算的专有语言Matlab的出现可能让一些人惊讶,但它只是反映了该语言在硬件工程中的突出地位,特别是对于那些对运行模拟感兴趣的人或者通过MathWorks的图形化Simulink软件包创建控制系统。

在前10名之下,一些值得注意的项目包括11号的Arduino和HTML / CSS在前几年,一些读者抱怨说两者都不应出现在编程语言列表中。在Arduino的情况下,争论的是没有这样的语言,“Arduino”实际上是语言运行的硬件平台系列的名称,并且这种语言应该被称为Wiring(或者有时候是C或C ++)由于历史原因)。在这方面,我们以简单的实用主义为导向:当面对编程问题时,绝大多数Arduino开发人员使用诸如“Arduino Code for ...”之类的术语来搜索Google,而不是任何替代方案。通过选择事实上的名称,我们避免大大减少为Arduino和类似微控制器编写的程序的流行度。

当涉及HTML时,实用主义也是游戏的名称,这里的反对意见是它不是真正的编程语言,因为它没有分支或循环结构。但鉴于HTML和CSS在开发人员中的广泛流行,以及他们习惯于指导数十亿台计算机每天都做事,我们觉得任何关于图灵完整性的学术论点都是不重要的。标记语言仍然是一种语言。

最后,一些较老的语言仍然活着并且在升级。特别是,尽管已有60多年的历史,Fortran仍然排在第38位,可能是由于原始科学计算语言具有巨大的传统力量。该语言仍在积极开发中,最新的Fortran标准于2018年底发布,其中包含与C的改进的互操作性以及对大规模并行计算的更好支持。