这是第五次IEEE Spectrum发表计算机语言排名,官方提到,他们没有办法以普查的方式统计各种语言的使用情况,因此必须仰赖相对的指标来量测热门程度。因此他们收集了9个来源总共11个指标,来对47种语言进行排序,这些来源有Google、GitHub、Stack Overflow、IEEE Xplore与推特等,但考虑到不同开发者的需求与兴趣,IEEE Spectrum并没有把所有指标都混入一个排名中,而是以不同权重来表现不同需求的现象。
IEEE Spectrum在这项排名中,为五种需求提供了五种权重配置让使用者参考,根据需求分为趋势、工作、开放与自定义,而IEEE Spectrum也调高了来自IEEE Xplore的权重,以及开源因素的比重,设置了一个适用于IEEE成员的权重。这份排名也把语言的平台分开,分别有网页类、移动类、桌面与科学应用的企业类以及嵌入式类。而Python除了在移动平台缺席外,在网页类、企业类与嵌入式类平台都获得第一,并且有与第二名拉开距离的趋势。
Python去年仅以些微的分数差距勉强打败C语言,但今年第一名与第二名的差距更大了,在今年C++在第二名的分数为98.4,第三名的C则取得98.2分,相较于2017年,C第二名得分99.7分,而Java以99.4分排名第三。IEEE Spectrum点出了Python可以持续表现强劲的两个原因,分别是嵌入式开发的变化以及Python与资料科学爱用语言R消长的关系。
第一个原因在于,现在Python被归类在嵌入式语言中。在过去,嵌入式应用程序的开发多使用编译语言,以减少硬件运算能力与记忆体使用的负担,IEEE Spectrum提到,但是由于硬件技术发展的原因,让现在微处理的运算能力,已经足够用来执行Python直译器,而且使用Python的好处还能透过互动提示与直接重载脚本,方便的更新硬件上的软件。他们认为,成为另一个领域的爱用语言,将会带动Python的热门程度。
另外,Python与R同为资料科学领域爱用的语言,但是R语言从2015年的第5名,在2017年降到了第6名,而在今年更退到了第7名。IEEE Spectrum提到,R是专用于处理统计资料与大资料的语言,但随着大资料集应用渐渐转向机器学习,Python生态系中好用的统计与机器学习函式库,能更灵活的帮助开发应用,而这也是Python比起R语言更加有吸引力的原因。
其他值得注意的变化,包括新兴语言Go,从第7位爬升到了第5位,Scala则从第15位上升到了第12名,IEEE Spectrum表示,Scala作为Java的竞争对手,Scala的成长部分原因来自于Java的衰退。Javascript从第7名微降一名,Mozilla力推的Rust则从第22名降到了第28名。
领取专属 10元无门槛券
私享最新 技术干货