近日,IEEE Spectrum发布了 2021 年度编程语言排行榜,其综合排行榜显示,前五名依次是 Python、Java、C、C++和 JavaScript。排行榜依然涵盖 4 种不同类型的编程语言,分别是用于开发网站和应用的语言(Web)、用于企业、桌面和科学应用的语言(Enterprise)、用于移动设备端的语言(Mobile)以及用于嵌入式环境的语言(Embedded)。
这与前阵子 Stack Overflow 的报告结果有所不同,Stack Overflow 全球开发者调查报告给出的排名显示,最流行、使用率最高的是 JavaScript(65%),其次是 Python(48.2%)和 Java(35.35%)。最受开发者喜爱的则是 Rust 语言,Python 也是没能独占鳌头。Redmonk 也将 JavaScript 排在首位,JetBrains 的开发者生态系统调查中 JavaScript 也位居榜首。
一般来说调查结果的不同与调查来源有较大的关系,IEEE采用了 8 个信息源、按照 11 种指标去进行分析。这些来源包括 Google、Twitter、GitHub、StackOverflow、Reddit、Hacker News、CareerBuilder 和 IEEE。
具体指标有:
1、利用“X programming”关键词搜索每个语言,得到该关键词在 Google 上的点击次数,其中“X”是该语言的名称。经常被引用的 TIOBE 排名也有采用这个指标;
2、利用“X programming”获取每种编程语言的谷歌趋势指数;
3、Twitter 上“X programming”的点击量;
4、统计 GitHub 上每种语言所创建的新仓库数;
5、统计 GitHub 上每种语言的活跃仓库数;
6、Stack Overflow 上发布的提及每种语言的问题数量;
7、利用“X programming”搜索 Reddit 上涉及每种语言的帖子数;
8、利用“X programming”搜索 Hacker News 上提及每种语言的帖子数;
9、衡量 CareerBuilder 上对每种语言的招聘需求;
10、IEEE Job Site 上对每种语言的招聘需求;
11、利用“X programming”搜索 IEEE Xplore 数字图书馆提及的每种语言的文章数量。
除了综合排名,IEEE 还提供了从趋势排名(Trending)、工作需求(Jobs)、开源(Open)和自定义(Custom)等多个维度的排行榜,可以让读者自己选择参数组合时的权重,得到不同的排序结果。
比如从工作需求出发:
工作中需求最大的编程语言
在开源社区最受欢迎的排名中,Python 依然位列第一,而 2020 年排名前 10 中的 Arduino 被 C# 所取代。
开源维度的排名
IEEE 指出,一些指标反映了特定时间内的趋势特性:例如,在 Twitter 指标中,Cobol 从第 7 位下降到第 34 位。这是因为新冠肺炎疫情那会政府官员提出更新旧系统的请求后,Cobol 在 2020 年曾一度成为 Twitter 上的热门话题。而处理这种非常规情况也是 IEEE 结合多个指标的原因。
值得一提的是,微软的 C#从去年的 25 名上升到今年的第 7 位,这大概率跟 2020 年 11 月发布的 9.0 版本以及新推出的 Windows 11 有关。此外,开发者对分布式系统的兴趣也在持续增长,而 C# 正是为此而设计的。
延展阅读:
https://spectrum.ieee.org/top-programming-languages-2021
https://www.theregister.com/2021/08/25/top_programming_language_python/