三月头条:为什么 TIOBE 指数仍然依赖搜索引擎
由于二月是短月,TIOBE 指数并未发生太大变化,现在是讨论该指数自身的一个元问题的好时机。最近这个问题多次被提及:TIOBE 指数为什么仍基于搜索引擎的命中次数?如今直接询问大型语言模型(LLM)哪些编程语言最受欢迎,难道不是更好吗?
答案是否定的。TIOBE 指数衡量的是互联网上与特定编程语言相关的页面数量。大型语言模型最终也依赖相同的来源——它们的训练和分析基于的正是这些网页。因此,从本质上讲,两者并无实质性区别。
上个月 TIOBE 指数完全没变化吗?也不是。SQL 与 R 在前十名中互换了位置。另外,Swift 重新进入前 20 名,取代了 Kotlin。指数更靠后的位置上,Ruby 已接近跌出前 30 名。
TIOBE 编程社区指数用于指示编程语言的流行程度。该指数每月更新一次。评级基于全球熟练工程师数量、课程和第三方供应商。用于计算评分的流行网站包括 Google、Amazon、Wikipedia、Bing 以及 20 多个其他网站。需要注意的是,TIOBE 指数并不反映哪种编程语言最好,也不是衡量用哪种语言编写代码行数最多。
该指数可用于检查你的编程技能是否仍然与时俱进,或在开始构建新的软件系统时就应采用哪种编程语言做出战略决策。


其他编程语言
下面列出了完整的前 50 名编程语言。该概览为非官方发布,可能存在遗漏的语言。

接下来的 50 种编程语言
下列语言表示排名第 51 至 100 位。由于差距较小,这些编程语言仅按字母顺序列出。
ActionScript、Algol、Apex、Applescript、Bash、bc、Caml、CFML、CL (OS/400)、Clojure、CoffeeScript、Common Lisp、D、F#、Forth、GAMS、GML、Groovy、Hack、Icon、Inform、Io、J、J#、JScript、JScript.NET、Korn shell、LabVIEW、Logo、LotusScript、Modula-2、Mojo、MQL5、NATURAL、NetLogo、OpenCL、PL/I、PostScript、Q、REXX、RPG、S、Scheme、Small Basic、SPARK、SPSS、Tcl、V、VHDL、Xojo
长期历史回顾
为了解更宏观的情况,下方列出了多年前前十名编程语言的位置。请注意,这些是基于 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 是图灵完备的。因此尽管该语言历史悠久,但在指数中的记录时间较短。
编程语言名人堂
下方列出了所有“年度编程语言”奖的获奖者。该奖项授予在一年内评分涨幅最大的编程语言。

常见的五类改进请求与缺陷报告
- • 在检索关键词上扩展变体:除了“<语言> 编程”之外,也应尝试“使用 <语言> 编程”、“<语言> 开发”、“<语言> 代码编写”等不同表述,以覆盖更多相关页面。
- • 扩展到非英语的自然语言搜索:计划加入其他语言的检索支持,优先从中文搜索引擎(如百度)开始。目前已部分实施,未来几个月将继续完善。
- • 公示被拒绝的检索请求清单:把那些不予采纳的搜索词列出来,减少关于例如 Rails、jQuery、JSP 等反复重复的询问。
- • 启动更多类别的指数:建议建立针对数据库、软件配置管理工具和应用框架等领域的独立排名。
- • 只统计近期新增页面:利用搜索引擎提供的“最近一年内添加”之类过滤条件,使指数只跟踪新近出现的网页,避免旧内容影响结果。