今天,IEEE Spectrum发布了最新的第五届年度编程语言交互排行榜!
这个榜单综合了9个来源的11个指标,对47种编程语言的流行程度进行排名。
当然了,每个程序员都有自己心目中“最好的语言”,不同的程序员有不同的需求和感兴趣的领域,因此,IEEE Spectrum没有将所有这些指标合并整成一个唯一的排名。
相反,IEEE Spectrum提供了一个交互式的应用程序,读者可以自己选择这些指标组合的权重,从而个性化定制自己关心的排行。这个排行榜包含了默认的权重,即根据典型的IEEE会员的兴趣进行调整,也提供其他一些专注于开源项目优点的预设。读者可以应用筛选器,排除不感兴趣领域的语言,例如嵌入式或桌面环境。
通过与过去几年的榜单进行对比,你可以窥视编程语言的流行趋势发生了怎样的变化。
Python雄踞榜首,C++第二、C语言第三
开榜!
对于典型的IEEE会员和Spectrum读者来说,2018年的Top 10编程语言是:
2018 Top 10编程语言
在继续分析之前,为了方面对比,我们也呈上2017年的榜单:
2017 Top 10编程语言
2018年,Python强势霸榜第一名!去年,Python虽然也名列榜首,但得分仅比排名第二的C语言高出一点点,Python的得分是100,C是99.7。
但今年,Python的优势很明显,第一名和第二名之间的差距更大了,排名第二的C++得分是98.4。去年,Java以99.4的成绩排名第三,但今年排名降至第四,得分为97.5。今年排名第三的是C,得分为98.2。
为什么Python能够继续霸榜,获得程序员的青睐呢?Top 10编程语言排行榜的另外两个变化可能会给我们一些提示。
首先,Python现在被归类为嵌入式语言(embedded language)。以前,为嵌入式应用程序编写代码时,主要倾向于使用编译语言,以避免在处理能力和内存有限的机器上动态地计算代码的大量开销。尽管摩尔定律可能正在消失,但它可还没有灭亡。许多现代微控制器现在已经拥有足够的能力来托管Python解释器。用这种方式使用Python的一个好处是,在某些应用程序中通过交互式提示使用附加硬件或动态地重新加载脚本非常方便。在一个新领域中得到越来越多的使用,这有助于提升Python的受欢迎程度。
Python越来越受欢迎的另一个原因可以从R的小幅下降中看出。R在2016年达到流行程度的顶峰,排名第五,去年跌至第六,现在排名第七。R是一种专门用于处理统计和大数据的语言。随着对大型数据集的兴趣越来越多地转向大数据在机器学习中的应用,用于统计和机器学习的高质量Python库的增加可能是使得灵活的Python语言成为比更专业的R更具吸引力的起因。
再看用户增速(Trending)预设下的排名,这是一个重点关注哪些语言正在快速增长的指标。我们看到,谷歌的Go语言已经从去年的第7名上升到第5名。但增长最快的应该是Scala,从第15名上升到第8。Scala是对Java的改进,因此Java在默认预设中排名下降,可能与Scala的上升趋势有关。
令人惊讶的是,ActionScript在排名上略有提升。去年它以0.0分排名垫底,我们都准备淘汰这个语言了。然而,今年它最终以1.6分的成绩回到了倒数第二的位置,而Forth——曾经是嵌入式语言中的主力——今年得了鸭蛋。如果它明年还是鸭蛋,就要从排名中剔除了。
IEEE Specturm 综合总排名:Top 10变化不大,第11到第40有颠覆性波动
IEEE Spectrum的综合排名是由默认权重产生的,同时,也可以根据用户增速、就业优势强弱、开源和用户个性化需求对编程语言进行排名,分别对应“用户增速”(Trending)、“就业优势”(Jobs)、“开源语言”(Open),以及“定制”(Custom)选择。
2018年,IEEE Spectrum综合总排名如下,一共有48个语言入选:
2018年IEEE Spectrum编程语言综合排名
不难看出,排名较靠前的几种编程语言与去年排名相比波动性并不是很大。但通过与2017年排名数据做比较,可以看出排名11到40之间的语言,在各自相应区间范围内产生了颠覆性的排名波动。
排名下降较快的语言有Swift、Cuda、Visual Basic和Rust等,平均下降了6个排名。上升较快的语言有Processing、Objective-C、Fortran以及VHDL等,平均上升了5个排名。有趣的是,在去年排名中的“新起之秀”苹果Swift语言却在今年排名中大幅下降,而Objective-C却出现了回温的趋势。
而J语言和Ocaml依旧保持去年的排名,分别位于第44位和第45位。说明这些“古老”的语言依旧存在稳定的用户群体。
但总体来说,在今年编程语言的综合排名中,依旧是没有新语言的进入。再次印证了“我们已经进入巩固代码阶段”这句话。
用户增速Top 20:Python第一,Swift从第5跌至第19
从用户增速方面来看,Python依旧是最受欢迎的编程语言。
C++和Java这一年来的用户增速要比C语言快一些。在排名前20的语言中,用户增速或多或少的都发生了一些变化,而唯独苹果Swift语言从去年的排名第5跌到了排名19,不由令人唏嘘。
今年的用户增速(Trending)Top 20排名如下:
2018年IEEE Spectrum编程语言用户增速排名Top 20
就业优势Top 20:Python和Java换置,AI让前者火得不行
接下来,从就业优势角度来看,Python从去年的就业优势第三名一跃成为榜首,可以看出其影响力让在扩大。
C和C++依旧排名第二和第四,而Java从去年的排名第一跌到了第三名。Matlab、Go、Objective-C等语言对于就业的优势仍在上升。而Swift对于就业的优势却大幅下降。
今年各编程语言根据就业优势(Jobs)排名如下:
2018年IEEE Spectrum编程语言就业优势排名Top 20
开源语言排名Top 20:Python依旧第一,C++第二,Java第三
最后,看2018年开源语言排名,Python、C++、Java和C与去年排名一致,依旧排名前四。PHP从去年的第12名,一跃到了排名第6。
不出意外的,Swift从17年的排名第五,已然跌落至排名20开外了。这或许就是苹果Swift语言在此次各大排名中令人大跌眼镜的原因了。
2018年IEEE Spectrum开源语言排名Top 20
IEEE Spectrum 一如既往的为用户提供了具有多样性的排名结果,可以通过排除与用户无关的选项来进行过滤。2017年的排名是将来自9个来源中的11个指标进行加权和结合而产生的,但由于今年Dice网站关掉了它的API,所以今年排名的来源变为了8个(对2017年排名的结果无影响)。
若是希望与往年的数据作比较,或者了解更多,可以访问网站,先点击“Add a Comparison”,然后再点击“Edit Ranking”来得到比较结果(可比较的时间范围是2014年至2017年)。
IEEE Specturm 2018年最新编程语言排名,共包含48种语言:
Interactive: The Top Programming Languages 2018
spectrum.ieee.org