TIOBE 被指作弊

jopen 11年前

TIOBE 刚刚发布了 2013年10月份的编程语言排行榜,详情请看这里。也正是因为这份报告,来自国外的文章对该排行结果进行质疑和论证。

该文章指出:

10月份排行榜的导语是 “轻量级 JVM 语言 Groovy 进入前 20”,尽管我没有太当回事,但我对此结论严重怀疑,因为不久之前,Groovy 从没出现在 Top 50 之列。尽管 TIOBE 每个月都会更改数据收集的角度,这可能会导致某些语言忽上忽下,例如上个月的 F# 暴涨了 250%。

现在有趣的是,让我们自己来对几大搜索引擎进行统计,找出 TIOBE 排行背后的密码,下面是作者从几大搜索引擎中统计到的数据:

---- Google.com ----
 
(general search engine; Date filter: Past year)
 
"Scala Programming"             7,320
"Programming in Scala"          4,570
 
"Groovy Programming"            2,750
"Programming in Groovy"           190
 
"Clojure Programming"           2,280
"Programming in Clojure"          451
 
---- Bing.com ----
 
(general search engine)
 
"Scala programming"       32,800
"Programming in Scala"    31,600
 
"Groovy Programming"      16,400
"Programming in Groovy"    2,920
 
"Clojure Programming"     11,400
"Programming in Clojure"   3,320
 
---- Amazon.com ----
 
(books etc.)
 
Scala Programming       62
Groovy Programming      37
Clojure Programming     32
 
---- Wikipedia.com ----
 
(encyclopedic articles)
 
"Scala" "Programming"   377
"Groovy" "Programming"  253
"Clojure" "Programming" 139
 
---- Indeed.com ----
 
(job offers)
 
scala & programming     802
groovy & programming    764
clojure & programming   382
 
---- scholar.google.com ----
 
(academic publications)
 
Scala programming       1,6300
Groovy programming       3,620
Clojure programming        836
 
---- Stackoverflow.com ----
 
(programming Q&A site)
 
[scala]        19,246
[groovy]        6,999
[clojure]       5,991
 
---- Github.com ----
 
(open source hosting; lines-changed according to
 
Scala   136,412,480
Groovy   46,635,343
Clojure  44,527,630
 
---- Reddit.com ----
 
(social news)
 
clojure subscriptions   4,644
scala subscriptions     4,524
groovy subscriptions      715
 
----
 
总结:通过上述的数据,你是否注意到任何趋势变化,可以看出 TIOBE 并没有把这些数据考虑在内。
 
哦,对了,我们似乎忘记另外一个额外的数据源:
 
---- 推ter.com ----
 
(social micro blogging; number of tweets by creator of language)
 
glaforge        20,055
odersky            469
richhickey         231
 
结论:很明显,Groovy 是最受欢迎的 JVM 语言?
来自百度百科上对 TIOBE 的解释:

TIOBE开发语言排行榜每月更新一次,依据的指数是基于世界范围内的资深软件工程师和第三方供应商提供,其结果作为当前业内程序开发语言的流行使用程度的有效指标。

该指数可以用来检阅开发者的编程技能能否跟上趋势,或是否有必要作出战略改变,以及什么编程语言是应该及时掌握的。观察认为,该指数反应的虽并非当前最流行或应用最广的语言,但对世界范围内开发语言的走势仍具有重要参考意义。