一月头条:C# 当选 2025 年度编程语言
在三年内第二次,C# 被 TIOBE 指数评为"年度编程语言"。C# 之所以获得这一称号,是因为其排名较上一年上涨幅度最大。多年来,这门语言经历了根本性的变化。从语言设计角度看,C# 常常是主流语言中较早采纳新趋势的那一类。同时,它成功完成了两次重大的范式转变:从仅限 Windows 到跨平台运行,以及从微软专有到开源。C# 总是在合适的时机持续演进。
多年来,Java 与 C# 在企业软件市场上一直直接竞争。我一直以为最终会是 Java 占上风,但经过这么长时间,这场较量仍未分出胜负。Java 是否能继续凭借其(有时被认为)冗长、样板代码多以及甲骨文(Oracle)所有的背景,抵挡住 C# 的攻势,仍是一个开放的问题。
在 2025 年的前十名中也出现了一些有趣的变化。C 和 C++ 互换了位置。尽管 C++ 正以前所未有的速度发展,其中一些更激进的变化------例如模块(modules)概念------尚未在业界广泛采纳。与此同时,C 依然简单、快速,非常适合日益增长的小型嵌入式系统市场。即便如此,Rust 在这一领域仍然难以渗透,尽管本月其排名达到了历史最高的第 13 位。
那么,除了 C# 之外,2025 年还有哪些赢家?Perl 出人意料地强势回归,从第 32 位跳升至第 11 位,重新进入前 20 名。另一种重返前 10 的语言是 R,这主要得益于数据科学和统计计算领域的持续增长。
当然,有赢家就有输家。Go 似乎在 2025 年永久性地失去了其前十名的位置。Ruby 同样跌出前 20 名,短期内难以回归。
对 2026 年我们可以期待什么?我有长期的预测失误史,但我猜 TypeScript 最终会突破进入前 20 名。此外,Zig 在 2025 年从第 61 位攀升到第 42 位,看来是进入 TIOBE 前 30 的有力候选者。
你预计 2026 年会有哪些变化?
TIOBE 编程社区指数是衡量编程语言流行度的一个指标。该指数每月更新一次。评分基于全球熟练工程师数量、相关课程和第三方供应商的情况。谷歌、亚马逊、维基百科、必应以及 20 多个其他知名网站被用来计算这些评分。需要注意的是,TIOBE 指数并不意味着某种语言是"最好的"或是编写代码行数最多的语言。
该指数可用于检验你的编程技能是否仍然与时俱进,或在开始构建新软件系统时帮助做出采用哪种编程语言的战略决策。


其他编程语言
下面列出了完整的前 50 名编程语言。此概览为非正式发布,因为可能存在我们遗漏某种语言的情况。

接下来的 50 种编程语言
以下列出的语言为第 51 到第 100 名。由于差异较小,编程语言仅按字母顺序列出:
ActionScript、Algol、Applescript、Awk、B4X、Caml、Clojure、Common Lisp、D、Elm、Emacs Lisp、F#、Forth、GAMS、Groovy、Hack、Icon、Inform、Io、J、J#、JScript、Logo、Maple、Modula-2、Mojo、MQL5、NATURAL、Nim、NXT-G、OCaml、OpenCL、PL/I、PostScript、Q、Racket、REXX、Scheme、Smalltalk、SPARK、Stata、Structured Text、SystemVerilog、Tcl、Transact-SQL、V、Vala/Genie、VHDL、X++、Xojo
长期历史回顾
为便于观察更大范围的变化,下方列出了多年前前 10 名编程语言的排名(请注意,这些为 12 个月期间的平均排名)。

重要说明:
- 2001 年之前的数据并非基于网络搜索引擎的计数,而是基于 Usenet 论坛的新闻组命中数,这些数据是事后计算得出的。
- 上表中"Visual Basic"和"(Visual) Basic"是有区别的。直到 2010 年,"(Visual) Basic)"指的是所有可能的 BASIC 方言(包括 Visual Basic)。经过讨论,决定将"(Visual) Basic)"拆分为各个方言,例如 Visual Basic .NET、经典 Visual Basic、PureBasic、Small Basic 等。由于 Visual Basic .NET 已成为 Visual Basic 的主要实现,现在通常称为"Visual Basic"。
- 编程语言 SQL 在 2018 年被加入 TIOBE 指数,这是在有人指出 SQL 是图灵完备(Turing Complete)之后才加入的。因此,尽管这门语言历史悠久,但在该指数中的历史相对较短。
编程语言名人堂
下方列出了所有"年度编程语言"获奖者(编程语言名人堂)。该奖项颁给在某一年中评分涨幅最大的编程语言。

错误与变更请求
以下是被请求最多的前五项变更与 bug。
- 除了" programming"之外,还应尝试其他查询形式,例如"programming with "、" development" 和 " coding"。
- 增加对其他自然语言的查询(除英语外)。计划从中文搜索引擎百度开始。该项已部分实现,并将在未来几个月内完成。
- 列出所有被拒绝的搜索词请求清单,以减少关于 Rails、jQuery、JSP 等反复出现的邮件。
- 为数据库、软件配置管理系统和应用框架建立 TIOBE 指数。
- 一些搜索引擎允许查询去年新增的页面。TIOBE 指数应仅追踪那些最近新增的页面。