程序员社区知名“月经贴”——TIOBE 编程语言排行榜被“喷”了。
最近开发者 Krishna 发文指出 TIOBE 编程语言排行榜的诸多不合理之处,并建议大家不要再引用它。
TIOBE 编程社区指数(The TIOBE Programming Community index)是编程语言流行度的指标,该榜单每月更新一次,指数是根据网络搜索引擎对含有该语言名称的查询结果的数量计算出来的。包括流行的搜索引擎,如谷歌、必应、雅虎、维基百科、亚马逊、YouTube 和百度都用于指数计算。具体的计算方式见这里:https://www.tiobe.com/tiobe-index/programming-languages-definition/。
Krishna 举例称,如下图所示,名为"xkcd"的编程语言虽然在 Google 有大约 2490 万个查询结果,但会有人使用它进行编程吗?
接着,Krishna 以 TIOBE 趋势图进行了举例。他表示,在 2016 和 2017 年,TIOBE 排名前二的编程语言——Java(绿色)和 C(黑色)的分数出现了“崩溃式”下降,其中 Java 下降了 42%,C 的情况更糟糕:下降 62%。然而当时并没有发生任何重大事件,软件行业没有衰退,软件开发商也没有消失。到了 2018 年,C 和 Java 的排名均大幅上升,重新回到了 2016 年的水平。Krishna 认为这是谷歌的搜索算法出现问题所致,他希望没有人基于这个数据做出任何决定。
除了 TIOBE 趋势图,Krishna 对具体的编程语言排名也有理有据地指出了不合理之处:
- 在其他诸多排行榜或依据相关指标而完成的调查中(例如 GitHub PR、开发者调查报告、Stack Overflow 问题统计),JavaScript 往往都是最受欢迎或是排名第一的编程语言。但在 TIOBE 中,JavaScript 排在第 7 名,位于 Visual Basic (#6) 后面。
- Visual Basic 分数在 2020 年 3 月 4 日的时候为 0.77%,在此日期之后,Visual Basic 的分数迎来了爆发,29 天后,它增长了 6 倍,达到 4.72%。此后,它一直保持着上升势头。然而这一情况得不到其他平台数据的支持,比如 Google 搜索趋势和 Stack Overflow 提问。唯独在 TIOBE 出现了如此靠前的排名。
- 为了说明这种荒谬的情况,Krishna 继续列举了 Visual Basic 与苹果开发生态的对比。根据 TIOBE 的数据,Visual Basic 分数是 Swift (1.27%) 和 Objective-C (0.94%) 总和的两倍多。也就是说,整个 iOS、iPadOS、watchOS、macOS 开发生态的规模显然只有强大的 Visual Basic 生态的一半。
附上最新的 TIOBE 排名:
Krishna 在“喷”完 TIOBE 后,对于如何评估编程语言提出了自己的看法。他认为这需要查看技术匹配度:
- 是否可以通过雇用/培训开发者来使用这门编程语言?
- 他们是否乐意使用这门编程语言?
- 团队使用此语言的开发速度有多快?保持它在生产环境中正常运行的运维负担是什么?
- 是否需要依赖第三方代码?该代码是否已经存在,它的质量如何?
上面这些问题,不同的开发团队有不同答案。具体取决于业务模式、当地就业环境和成本预算。在某种程度上,团队还需要考虑长期趋势——所选择的语言在未来也必须保持良好的技术适应性。
为您推荐与 tiobe 相关的帖子:
- TIOBE 7 月榜单:Python/C/C++/C# 最有望成为年度语言
- TIOBE 8 月榜单:Python 市占达新高,Carbon 位列第 192
- TIOBE 2022 年度编程语言:C++
- TIOBE 2 月编程语言排行榜发布:C++ 仍然势不可挡
- TIOBE 3 月编程语言榜单发布:Go 进入前 10,Perl 跌出前 20
- TIOBE 4 月榜单:Zig 进入 Top 50,Go 保住前 10 位置
- TIOBE 5 月榜单:新兴编程语言难以入榜
- TIOBE 6 月榜单:C/C++、Java 逼近,Python 能否保住第一?
- TIOBE 8 月榜单:Julia 首次进入前 20 名
- TIOBE 9 月编程语言排行榜公布
- TIOBE 10 月榜单:Java 跌幅最大,C# 逼近 Java
- TIOBE 11 月榜单:PHP 升至第 7,Kotlin 能否跻身四大?
- TIOBE 12 月:C# 有望成为年度编程语言
- TIOBE 4 月榜单:PHP 跌至历史最低点