TIOBE是在误导大家,Java其实并没有衰落

Published: 25 Apr 2014 Category: Others

译注:其实语言都没有高下之分,适合当前工作的就是好语言。不过这位作者在这方面的一些态度的确值得我们学习,人家并不是盲目的乱喷,而是摆出数据,有理有据。本来想说老外在这方面怎么怎么样的,后来想了想,地图炮还是少开,毕竟这么说有失偏颇。

我经常看到有文章在说,根据TIOBE的排名来看,Java和C在为“最受欢迎的编程语言”的称号争得不可开交——最后肯定都会说道,Java已经面临很长时间的衰落了。TIOBE用了一种相对复杂的公式来计算这个排名;不过它的核心算法似乎是和这个编程语言的名字后面加上”programming”这组关键字的搜索结果有关,比方说” Java Programming”。这么做当然也说得过去的,因为如果你去Google趋势里面只搜Java或者JVM的话,肯定会看到统计结果里面有很多跟Java语言或者Java虚拟机无关的东西。

下面是过去13年来TIOBE上面最受欢迎的10门编程语言的趋势图:

“TIOBE排名趋势图”

最上面黑色的是Java在TIOBE上面的排名曲线,而附近那条淡蓝色的是C的。从这很明显能看出Java的欢迎程度一直都在缓慢的下降。不过这真的意味着Java在衰落吗?

我并不这么认为,有好几个原因。首先,Java是一门成熟的语言。一门成熟的语言在Google或者Yahoo等这些搜索引擎里面搜索得少些不是很正常吗?因为很多开发人员都已经对它们已经非常熟悉了。与此同时,当前最热门最时髦的语言理所当然会得到更多的关注,因为它们是现下最令人兴奋的新事物。至少对我来说是这样的。

不过这里我们还可以通过别的数学手段来进行计算。我们用TIOBE的一部分算法,再结合一些其它的数据,来看看结果是什么样的。

下面是Google趋势里“Java Programming”搜索词的关注热度:

Google趋势里Java Programming搜索词的关注热度

从这张图来看,Java的关注度在2004年处于高峰(之前的数据已经看不到了),而目前的关注度大概是当初的28%左右。

不过,这到底意味着什么?Google趋势是基于这个搜索词本身在所有搜索词中进行的排名,因此这张图实际告诉我们的是今天在Google里面搜索"java Programming"这组关键字的比例大概是2004那会儿的三分之一。我上面所说的原因,部分也是由于这个。

非常重要的一点是,"Java Programming"这个搜索词的关注度在2009年以后就一直维持不变。然而更有趣的是,下面这组来自Statistic Brain的数据列出了每年Google搜索这组关键字的总次数:

总搜索次数(单位百万)
20132,162
20121,874
20111,722
20101,325
2009954
2008637
2007438

Google趋势其实告诉我们的是”Java Programming”这组关键字在所有的搜索词中的关注度。相对于Google的所有的搜索词而言, “Java Programming”这组词搜索的比例和2004年的时候相比有所下降。

不过如果我们将上面这个表格中的关注度比例转化成实际搜索的总次数的话,结果是这样的:

总搜索次数(单位百万)Java programming的关注排名Java programming的总关注度
20132,16228138
20121,87430128
20111,72230118
20101,3252988
20099542963
20086372942
20074383434

这里我是从2007年开始计算的。这个总的关注度同时还考虑了Google总搜索量的增长。这个表格的数据说明,从2007年到2013年Java Programming这个搜索词的搜索次数翻了四倍!

Java并不是一门已经衰落了很长时间的语言,相反,全世界对Java的关注度一直是在飙升的!

现在你还敢和别人说"Java已死“这样的话么?

原创文章转载请注明出处:TIOBE是在误导大家,Java其实并没有衰落

英文原文链接