JetBrains 的《2025 年开发者生态系统调查》数据显示,开发者在编程语言之间的迁移主要受项目需求支配,但有些语言会因为开发体验、就业机会或性能而吸引用户。JetBrains 基于 8,837 份回答进行的分析,展示了开发者在一年内的实际迁移路径,而不是依赖他们所说的计划。
该分析由 Vladimir Volokhonsky 撰写,对比了参与者 12 个月前使用的主要语言,以及他们在回答调查时已将哪些语言作为主要语言。离开某种语言并不意味着完全停止使用它,而是意味着它不再是开发者的主要语言。
从意向到实际迁移
在调查开展初期,JetBrains 询问开发者计划在未来 12 个月内采用或迁移到哪些语言。然而,公司发现,计划并不能准确预测实际迁移;想尝试 Rust 或从 Java 迁移到 Kotlin,并不一定意味着开发者最终会执行这一步。
因此,公司增加了关于参与者一年前使用的主要语言的问题,然后将当前回答与此前的回答进行比较。分析显示,语言之间的迁移可能沿着多条路径发生,而最常见语言之间的迁移在数量上仍然最多。从 Python 到 Java 以及反向迁移的路径较为突出,而从 Java 迁移到 Kotlin 的人数绝对值排名第三。
增长机会指标与增长最快的语言
JetBrains 提出了所谓的“语言潜力指标”,根据迁移正负趋势的稳定性以及希望学习每种语言的人数,追踪语言未来的迁移机会。结果显示,TypeScript、Rust、Python 和 Go 仍拥有较大的增长潜力,而 Lua 在其增长似乎达到某个上限后,已不再位居领先语言之列。
分析表明,TypeScript 和 Rust 是最突出的上升语言之一;在 JetBrains 预测将会增长的语言中,例如 Python、Go 和 Lua,只有 Go 出现了实际增长。数据还显示,尽管 JavaScript 总体上是使用最广泛的语言,但它仅是约 6% 的软件开发者的主要语言,而 Java 作为主要语言的存在感仍然更强。
开发者为什么离开自己的语言?
项目需求仍然是语言迁移最常见的原因。不过,离开的动因因语言而异:
- C:数据中的留存率最低;上一年以 C 为主要语言的人中,约有一半迁移到了其他语言。其中约一半选择了“想学习一门新语言”这一原因,更新的功能也经常被提及。分析将此与广泛的不满或认为该语言过时的感受联系起来。不过,C 作为主要语言的占比在两年间并未发生太大变化,从 2.0% 上升至 2.1%;此外,C 的样本非常小,不到 100 名参与者。
- 在许多情况下,离开它与更好的就业市场机会有关。
- PHP:性能和可扩展性限制是离开 PHP 的常见动因。
- Java:离开 Java 的开发者更倾向于转向 Python 和 TypeScript,而不是 Kotlin,尽管迁移到 Kotlin 是按总人数计算最突出的路径之一。
JetBrains 强调,包括 Kotlin 和 PHP 在内的一些语言的数据同样基于不到 100 名参与者的小样本,因此应谨慎看待这些结果。
吸引开发者的语言与连续迁移路径
JavaScript 同时出现在两个方向上:一些开发者为了就业机会而离开它,另一些开发者也出于同样原因迁移到它。其增长的重要部分来自 HTML/CSS 开发者,由此形成了从 HTML/CSS 到 JavaScript、再到 TypeScript 的连续路径。
而 Kotlin 不同于大多数由必要性推动的迁移路径。根据分析,开发者迁移到 Kotlin 是为了获得更佳的开发体验和更现代的语言功能,而不是因为项目强制要求。Kotlin 的主要增长来源是 Java,尽管从 Java 到 Kotlin 的开发者流动弱于预期,同时也存在反向迁移。
Go 的吸引力与性能和可扩展性有关,而 Python 则凭借生态系统和库支持吸引开发者。数据表明,Python 是大多数语言用户迁移时的主要目的地,但 C 用户例外,他们更偏好 Java 和 C++;TypeScript 用户也例外,他们最主要的目的地是 Java、JavaScript 和 C#。
这张新地图说明了什么?
分析认为,追踪实际迁移会将生态系统数据从语言流行度的静态图景,转变为开发者流动的地图。有些迁移是为了满足项目需求,而其他语言则凭借性能、生态系统或开发体验吸引开发者。
Java 仍是一个重要枢纽,向 Python 和 TypeScript 的流出较为明显;与此同时,TypeScript 和 Rust 似乎位居增长机会最高的语言之列。数据还揭示,某种语言份额的稳定并不一定意味着其用户群稳定:一种语言可能同时失去开发者并吸引其他开发者。对于 Kotlin 而言,其主要优势在于吸引力,而不是成为项目强制开发者采用的路径。