编程语言排名为什么难产了?
正如收到的 讯息 和电子邮件所证明的那样,至少有一些人一直在等待 RedMonk 发布最新版本的编程语言排名。我们对延迟表示歉意:以下是我们的最新进展。
通常,我们每年进行两次排名,目的是利用公开数据集跟踪人们使用编程语言的方式是否发生了有意义的变化。我们将 GitHub 公共仓库中的非叉 PR 与 Stack Overflow 上的问题相关联,从而了解语言的累积使用情况。
这些指标充其量只能说明一个不完整的问题。通过使用 GitHub 公共仓库,有些语言的代表性不足,有些语言的代表性过高;通过查看 Stack Overflow 上的讨论,有些社区的代表性不足,有些社区的代表性过高。这些衡量标准无论如何都不完美,但这两个面向公众的大型数据集为 RedMonk 创造了一个有趣的十多年趋势,以便长期跟踪。
不过,最后一组查询为我们提供了需要进一步调查的数据。
Stack Overflow
自 2021 年 10 月 GitHub 发布 Copilot 以来,我们一直在内部讨论如何解决基于人工智能的代码助手对语言排名的影响。然而,当 ChatGPT 于 2022 年 11 月 30 日上市,并在两个月内从 0 到 1 亿用户时,我们才开始看到它对我们源数据的不可否认的影响。
我们已经看到Stack Overflow所提问题从高峰期开始下降。然而,当我们为 2023 年 6 月的排名调取数据时,集体下降的趋势非常明显。
下图选取了 Stack Overflow 上提出的有关前 20 种编程语言的问题(根据 RedMonk 2023 年 1 月的分析结果),并回顾了每半年一次的历史趋势。
正如您所看到的,使用这 20 个 Stack Overflow 标签*提问的数量比前一时期下降了近 20%。而这仅仅是我们在 ChatGPT 发布后运行这些数据的第一个完整周期。粗略查询一下去年同期的数据,会发现变化更加明显。
不可否认的是,如果开发人员能够即时向不带偏见的人工智能助手提问,而人工智能助手会根据上下文给出答案,这将对 Stack Overflow 提供的公共数据集的实用性产生明显的负面影响。
GitHub
虽然我们预料到了 Stack Overflow 的变化,但我们并没有预料到 GitHub 的数据会出现重大异常(即使我们预料到了变化,我们也希望它们是向上的。关于人工智能代码助手有助于提高开发速度并使修补者受益的说法一直很盛行)。
然而,我们从 GitHub Archive 看到的数据实际上显示,与 2022 年下半年的 PR 相比,2023 年上半年的拉取请求下降了约 25%,这是我们始料未及的。
我们使用的数据集是 BigQuery 上的一个公共数据集,因此我们向谷歌询问了数据获取的方式,并向 GitHub 团队询问了他们是否在内部数据中发现了类似的变化。
最后,这一变化似乎不是现有数据的错误,而且基本上缺乏解释。迄今为止,最好的猜测是,大流行病导致的活动增加出现了悬而未决的情况,而这次是恢复到预期的活动,但我们无法证实这种说法是否准确。
目前,我们预计这一下降趋势不会持续,但我们将继续关注这些数字。
下一步怎么办?
基于人工智能的代码助手的出现和崛起已经对 RedMonk 语言排名的数据产生了影响。随着问题和知识共享从公共论坛转移到私人工具,我们从上述公共数据中确定有意义趋势的能力将被无限期地改变。
我们将继续跟踪这些趋势,并确定样本量的变化将如何影响我们进行排名的能力。
目前,我们将在 2024 年 1 月进行下一次排名。
* 根据最近前 20 名查询的标签:JavaScript、Python、Java、PHP、C#、CSS、TypeScript、C++、Ruby、C、Swift、Shell、R、Go、Scala、Objective-C、Kotlin、PowerShell、Rust、Dart
免责声明:GitHub 和 Google Cloud 是 RedMonk 客户。Stack Overflow 和 OpenAI (ChatGPT) 不是。
你也许感兴趣的:
- 【程序员搞笑图片】数据类型简明指导
- 33 种编程语言的 UUIDv7 实现
- 【外评】Rust,你错了
- 【外评】为什么人们对 Go 1.23 的迭代器设计感到愤怒?
- 华为自研编程语言“仓颉”来了!鸿蒙应用开发新语言,性能优于 Java、Go、Swift
- 【外评】JavaScript 变得很好
- 【外评】华为发布自己的编程语言 “仓颉”
- VBScript 废弃:时间表和后续步骤
- 【外评】BASIC 编程语言 60 岁了
- 【外评】为什么 ALGOL 是一种重要的编程语言?
你对本文的反应是: