知名软件行业分析公司 RedMonk 日前发布了 2023 年第一季度的编程语言排行榜。
收集数据的基本过程如下:
RedMonk 从 GitHub 和 Stack Overflow 中提取语言排名,并将它们组合成一个排名,试图反映代码(GitHub)和讨论(Stack Overflow)的关注度。这个想法不是要提供当前使用情况的统计有效表示,而是要将语言讨论与使用相关联,以期从中获取有关潜在未来采用趋势的见解。
目前的流程
GitHub 部分分析所使用的数据源是 GitHub Archive。RedMonk 按照类似于 GitHub 用来收集 Octoverse 状态的方式查询拉取请求中的语言。查询旨在尽可能与以前的过程相媲美。
- 语言基于基础仓库语言
- 排除了分叉的仓库
- 使用聚合历史记录来确定排名
- 对于 Stack Overflow,只需使用其数据探索器工具收集所需指标即可
下图是 2023 年第一季度的编程语言排行情况:
排名前 20 的编程语言为:
1 JavaScript
2 Python
3 Java
4 PHP
5 C#
6 CSS
7 TypeScript
7 C++
9 Ruby
10 C
11 Swift
12 Shell
12 R
14 Go
14 Scala
16 Objective-C
17 Kotlin
18 PowerShell
19 Rust
19 Dart(并列)
跟以往一样,榜单中的排名变动依然很少。正因如此,RedMonk 内部正在讨论将语言排名转变为一年一次的可能性,因为变化太小,语言排名短期内就没有什么变化可供追踪。
各种基于 LLM 的工具在近期出现爆炸似的增长,但还没有看到由于这些工具而产生的任何重大转变,但它们可能已经开始产生影响,可能会在未来的排名中体现出来。
即便如此,也有一些值得注意的地方:
Ballerina:这是一个五年前的开源语言,由 WS02 设计,用于结合云环境中的服务,Ballerina 一直稳定在 80 多名,在上一次排名中位于 87 位,在本季度为 89 位。虽然这个语言获得了一定的使用度,但增长速度还是太慢,无法与 HCL(45)或 Puppet(39)这样语言竞争。即使是在最好的时候实现语言增长也是一个艰巨的任务,在当前如此拥挤的环境下更是如此。因此必须应用资源来改变当前轨迹。
Clojure:从 2014 年到 2017 年期间,Clojure 一直是 Top 20 榜单中的常客,如今 Clojure 已经滑落至 27 位。不过它的表现显然还是高于 Visual Basic(30)和 CoffeeScript(31)等曾经受到追捧的语言。Clojure 是一种 Lisp dialect,是 Groovy / JRuby 等基于 JVM 的 Java 替代品之一,除了 Scala,包括 Clojure 在内的大多数同类品都是如此。
Dart/Kotlin/Rust(0):Kotlin 连同 Dart 和 Rust 都因其这个季度缺乏增长而引人注目。它们都在 Top 20 中,只是或多或少地没有提升排名,停滞在那里。从广义上讲,语言排名增长是很难实现的,而且随着语言向排名靠前的方向发展,增长只会变得更加困难。看看这三者中的任何一个是否能够实现与其他两个的分离,并重新开始向上迈进,这将是很有趣的事情
Go(1):在上次的排名中,Go 跃升了一位,它是否还有更多的增长空间呢?事实证明它确实有,在本季度继续提升一位。但考虑到像 Kotlin 和 Rust 等语言在本季度没有出现增长,Go 是否也会停滞不前呢?Go 能不能进一步攀升同样有待观察。
Objective-C (-4): 在第一季度的排名中,Objective-C 下降了四位,这对于排名相对稳定的编程语言来说是一次大幅下降。除了拥有庞大的成熟代码库之外,Objective-C 未来可能并没有太多的增长潜力。苹果已经指定语法上更友好的 Swift 作为它的继任者和替代者,尽管如此,目前已有的大量Objective-C 代码不会消失,这意味着 Objective-C 的下滑应该是逐步的。