IEEE 发布了最新的编程语言排行榜。与 2019 年相比,Python、Java、C 和 C++ 依然分列总榜单前 4,而 JavaScript 取代了 R 语言成了榜单的第 5 名。此外,在趋势、需求和开源等其他子榜单中,Python 持续领先,Java 和 C 语言同样表现优异。
近日,IEEE Spectrum 发布了第七届编程语言排行榜。Python 再次名列第一,top 5 中的其他几种语言分别是 Java、C、C++ 和 JavaScript。去年的第五名 R 语言这次排名下滑到第 6,与 JavaScript 调换了位置。
根据介绍,IEEE 2020 编程语言排行榜从 8 个信息源按照 11 个指标收集数据,进而得到编程语言流行度的整体排名。
信息源包括:Google Search、Google Trends、Twitter、GitHub、Stack Overflow、Reddit、Hacker News、CareerBuilder 等,涵盖社交网站、开源代码网站和求职网站。
该调查从 GitHub 上收集了 300 多种编程语言,经过筛选后最终留下 55 种。其中包括大多数计算机用户熟悉的语言(如 Java),老牌编程语言 Cobol 和 Fortran,小众编程语言 Haskell 等。
IEEE 2020 编程语言排行榜涵盖 4 种不同的编程语言类型,分别是用于开发网站和应用的语言,用于企业、桌面和科学应用的语言,用于移动设备端的语言以及用于嵌入式环境的语言。
排名类型分为整体排名、趋势排名、工作、开源、自定义五种。
该排行榜基于不同权重的各个指标得到。如果你对权重有异议,可以在 IEEE 的交互页面上设置自己想要的权重:
接下来,我们来看 IEEE 2020 编程语言排行榜的具体数据。
top 10 编程语言:Python 四连冠,Java 和 C 语言不容小觑
在该排行榜中,top 10 编程语言的整体排名如下:
去年 IEEE 的默认设置中,对找工作有利的排行方式获得了更高的权重,而今年的默认排名则对 IEEE 会员的兴趣设置了较高的权重。
在这一新设置下,我们仍然可以看到 Python 继续保持领先地位,其次是 Java 和 C 语言,分列榜单二、三名。与去年相比,前两名 Python 与 Java 的距离继续拉大,Python 依然保持强劲的上升势头。
IEEE 编程语言排行榜,2019 年和 2020 年的 top 2 分数对比。(上图为去年的数据,下图为今年的数据)
此外,Arduino 语言实现显著提升,排名从去年的 11 名跃升至第 7 名。
对于 Python 排名始终居高不下的原因,有人给出了这样一种解释,即它被越来越多地用作教学语言,因此相应指标被过分夸大了。
这与 BASIC 语言的发展历程有异曲同工之处。20 世纪 80 年代,BASIC 语言非常受欢迎,有专门的书籍、杂志甚至电台节目介绍这门语言。但是很少有专业程序员使用 BASIC,后来当家用计算机泡沫破裂时,BASIC 语言也不再那么受欢迎了。
对此观点出现了以下两种反驳意见。首先,学生也是使用者。如果只关注专业程序员和开发者的使用情况,则可能无法获得全面客观的编程语言全景图;其次,与 BASIC 不同,Python 语言有大量高质量的专用库,因此在专业领域和机器学习等高关注度领域得到频繁试用。
此外,与往年不同,今年的编程语言排名情况不可避免地受到 COVID-19 的影响。举例而言,如果在指标权重中只选择 Twitter,你会发现 Cobol 语言排在了榜单第 7 位。
这很可能是因为,4 月份新泽西州州长 Phil Murphy 在一次新闻发布会上表示政府急需能够使用 COBOL 语言的程序员,以帮助修复已经使用了 40 多年的失业保险系统。由此重新引发了人们对 Cobol 这一古老编程语言的关注。
其他排名中,Python 持续屠榜
看完了整体榜单,我们再来看其他排名类型下的编程语言排行。
在趋势榜单中,Python 仍以绝对优势展示其强劲的发展势头,Java 排名第二,C 语言、C++ 和 Go 分列三四五名。
而工作环境中需求最大的语言仍是 Python,C 语言排名第二,其次是 Java、Go 和 C++。这也是 Go 语言首次进入前十。
在开源项目最受欢迎的编程语言排行中,毫无意外,排名第一的仍是 Python,Java 和 C 语言紧随其后。
纵观所有榜单,Python 持续领先,Java 和 C 语言同样表现优异。