魔王 杜伟报道

Python继续霸榜,上古语言Cobol重获关注,IEEE 2020编程语言榜单揭晓


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 语言同样表现优异。


参考链接:
https://spectrum.ieee.org/at-work/tech-careers/top-programming-language-2020?
utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+IeeeSpectrumFullText+(IEEE+Spectrum+Full+Text)
https://spectrum.ieee.org/static/ieee-top-programming-languages-design-methods-and-data-sources-2020?
utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+IeeeSpectrumFullText+(IEEE+Spectrum+Full+Text)
https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2020

入门COBOLJavaPython编程语言
相关数据
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

推荐文章
暂无评论
暂无评论~