IEEESpectrum刚刚发布了第六届编程语言排行榜。在新的排名方式下,Python再次位居榜首,与第二名的差距正在拉大。后面几个是Java、C语言、C++和R语言。作者|斯蒂芬·卡斯合辑|MachineHeart这是IEEESpectrum的第六次年度编程语言排名统计。今年的统计数据进行了重大改革,对一些基础指标进行了重构,最终排名进一步简化。但基本思路是一样的:结合来自多个数据源的编程语言流行度排名,得出目前业界最受关注的语言。这些信息来源包括Google搜索、Google趋势、Twitter、GitHub、StackOverflow、Reddit、HackerNews、CareerBuilder、IEEEJobSite和IEEEXploreDigitalLibrary。对于编程语言统计,人们总是面临两个主要问题:(1)理论上,没有人可以查看所有程序员都在输入哪种语言的代码;(2)有时,一种语言是另一种语言。有时两种语言使用的字段是完全不相关的。IEEE的列表解决了这些问题,并提供了最准确的编程语言流行度排名。统计人员从8个信息源获取数据,设定11种排名方式——这些指标是筛选语言排名的最佳方式——然后将所有结果以不同的权重组合起来,得到最终的排名。当然,如果你对权重有异议,你也可以在IEEE的交互页面上设置你想要的权重:在IEEESpectrum网站上,你可以根据需要设置权重,得到不同的编程语言排名。在IEEE的默认设置下,有利于找到工作的排名会获得更多权重。虽然标准的变化让今年的统计数据与往年有所不同,但总体趋势还是一样的:Python在所有分项中均排名第一。Python的流行很大程度上是因为存在大量专门的工具库来支持它,尤其是在人工智能(AI)领域。Keras是每个进入人工智能领域,尤其是深度学习领域的开发者的知名库:它为TensorFlow、CNTK和Theano深度学习框架提供了友好的界面和工具包。当然,深度学习并不是Python的唯一应用,在1991年首次推出时也没有预料到它会对深度学习产生影响。CircuitPython和MicroPython等嵌入式Python版本越来越受欢迎随着微控制器的计算能力急剧增加,制造商之间的关系越来越密切。紧随Python之后的是Java、C和C++,这是一组长期争夺第二名的语言——尽管IEEE调整了指标,但这些语言与Python之间的差距正在扩大。C++落后Python12.5分(在所有排名中,排名第一的编程语言获得100分,以下语言根据名字标准降序排列)。主要用于数学计算的语言R排在第五位。尽管与其竞争对手相比,R语言是高度专业化的,但近年来由于大数据的使用越来越多,它的受欢迎程度一直在增加。MathWorks开发的一种专门用于数值计算的语言Matlab在前10名中的出现有些出乎意料,这只是反映了编程语言在硬件工程中的突出地位——尤其是图形化的Simulink包是为运行仿真或创建控制系统的人准备的。在第10名以下,有几门语言值得一提,包括第11名的Arduino和第12名的HTML/CSS。在之前的统计中,有人认为它们不应该出现在榜单中:因为有没有这样的语言,而“Arduino”实际上是运行在一系列硬件平台上的一种语言的名称,这种语言应该叫做Wiring(有时它们也被归类为C或C++的一种)。IEEE说我们在这方面应该以简单的实用主义为指导:当面对编程问题时,绝大多数Arduino开发人员使用关键字,例如“ArduinoCodefor...”Googleit-不要使用其他方法。通过选择更常见的名称,IEEE使统计数据更加准确,避免了Arduino和类似微控制器上很多东西都数不清的情况。对于HTML,反对意见仍然存在:它不是真正的语言,因为它没有分支或循环结构。但由于HTML和CSS在开发人员中的流行,以及它已经为数十亿台计算机提供动力的事实,任何关于图灵完备性的学术争论都不是最重要的,标记语言仍然是语言。最后,一些较旧的语言仍然活跃。60多岁的Fortran仍然排在第38位,这可能是因为最初的科学计算语言仍然具有强大的传统力量。Fortran语言仍在不断发展,最新的Fortran标准于2018年底推出,其中包括改进与C语言的互操作性并支持大规模并行计算的优化。搜索进入小程序,解锁更多精彩资讯和专业内容!
