IEEESpectrum编程语言排行榜一年发布一次,这个排行榜已经连续发布了六年。每个开发者都需要相对流行的网站统计数据,与其他的语言排行榜不同,IEEESpectrum可以让开发者自己选择参数组合时的权重,得到多样的排序结果。
而且IEEESpectrum今年进行了重大改革,针对求职者内置了一些预设的权重,改变了一些基础指标,从8个数据源的11个指标中获取数据。程序员还可以应用筛选器,以排除不感兴趣的领域编程语言,这样一来,结果会显得更鲜明。但是,基本的思想和方法仍然相同:将多个来源的数据组合起来,对编程语言的流行程度进行排名。
那么下面,让我们看看今年的排名是怎样的,流行的趋势又是否有所变化呢?
作者
黄浩然
责编
屠敏
IEEESpectrum十大编程语言排行如下:
Python稳居榜首,且连续夺冠三年
尽管基本指标有所变化,但总体的结果仍然相似,Python始终处于领先地位。Python的流行在很大程度上是受了大量可用专用库的驱动,特别是在人工智能领域中。事实上,Keras库对深度学习开发人员影响很大。但是深入学习并不是Python产生巨大的影响的唯一领域,微处理器计算能力的显著提高意味着嵌入式版本的Python:如CircuitPython和MicroPython,正越来越受制造商的欢迎。
而Python为何能连续三年夺冠?
Python的高速发展主要原因是软件工程的蓬勃发展,它吸引了许多零基础的初学者。Java的编程方法对于初学者来说太冗长了,单单想要完全理解和运行在Java中的“helloworld”这样的简单程序,你就需要去了解类、静态方法和包。在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语言在产业互联网阶段,也会有比较普遍的应用。
如下是去年TOP10排名:
Swift冲至第九名!
对比去年的榜单,PHP在前十的排名中已经不见踪影,Go则下跌了一个名次。
另外,去年不在榜单上的Swift,今年冲到了第九名,这是为何?
Swift是由苹果创建的强大而直观的编程语言,它的使命是用于构建苹果体系内的应用程序。而且Swift可以在苹果体系内的所有平台上构建应用程序,诸如iOS、Mac、AppleTV和AppleWatch。
苹果公司为了顺应时代于年推出了Swift语言,目前已经是第四个版本了。Swift优势在于融合了现代语言特性,是一门非常容易学习的语言。而且经过这5年发展,Swift生态圈基本成熟,目前有大量的开源代码可供使用。
而且,年WWDC大会上,苹果在压轴环节向大众宣布了基于Swift语言构建的全新UI框架——SwiftUI。开发者可通过它快速为所有的Apple平台创建美观、动态的应用程序。在介绍过程中,苹果公司软件工程高级副总裁CraigFederighi演示了如何将一百行代码简化为大约十几行。
从以上的信息可以看出Swift的发展趋势,而今年的排行榜也证明了这一点。
R语言为何能上升?
数字运算语言R今年排名第五,比去年上升了两名,尽管它是一种比其他语言更专业的语言,但伴随着越来越多的大数据,近年来一直保持着它的流行度。
虽说R语言常年被Python打压,可仍然比去年提升了两名,这要得益于它的几个特性:
命令模式。Python虽然也支持命令模式,但是相对来说,更偏向于流程控制语句。R本身基本上不需要用到流程控制(当然,它也支持流程控制)。交互性。这是命令模式的一个特点,敲回车,出结果,但是又不像SPSS那种用鼠标扎针的交互方式。统计学特性。这是R语言最大的特点,比如:赋值的时候,不用等号(=),用的是指向(-),带来的问题就是要写a-5这种语句,就需要a(-5)这样写。
其他编程语言排名
正如文章开头所述,除了默认的权重产生的排行榜之外,IEEESpectrum还提供了用户增速趋势、就业需求、开源、自定义这四个选项,开发者可根据自身需求或兴趣查看排行榜。
IEEESpectrum完整的排行榜:Matlab位居第八,Fortran38位
位居第八,由MathWorks开发并用于数值计算的专有语言Matlab的出现可能让一些人惊讶,它反映了该语言在硬件工程中的突出地位,特别是对于那些对运行模拟感兴趣或者通过MathWorks的图形Simulink包创建控制系统的用户。
在前10名之下,有一些值得注意的,尤其是Fortran,尽管已有60多年的历史,仍然排在第38位,可见原始科学计算语言依然具有巨大的传统力量。并且,随着年最新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名,现在是第五名。
更多详细内容详见IEEESpectrum