动态详情

编程语言打假,Java、C、GO等流量担当的热度是否有水分?

2017-8-14 9:56:09 分类:技术博客

经常关注TIOBE指数或者是看相关报道的程序员们,应该都清楚在TIOBE中排名前十的编程语言除了两种编程语言之外,其它语言的流行度都在不同程度下滑,而且这种下滑趋势已经持续有很长一段时间了。

图0:编程语言打假,Java、C、GO等流量担当的热度是否有水分?

从上图我们可以看出,C语言和Java从2002年起几乎大部分时间里走势都是向下的,有的时间段内下降趋势堪比自由落体。然而,这种下降的趋势并不能阻止它们成为最常用的语言,如果说这两种编程语言正在走向死亡的路上,不如说它们一直走在死亡又复活的路上,而且死亡复活的次数绝对比我们想象的要多。

为什么它们总是被濒临死亡却又复活?其实这个问题并不是重点,这些成熟的开发语言,只要程序员还在使用它们,企业就会认定这些编程语言的合理性。所以,想要它们死亡并不是一件易事。

图1:编程语言打假,Java、C、GO等流量担当的热度是否有水分?

从Stack Overflow Trends中看,Java在2017年一直是上升趋势,C语言虽然在年初有下降趋势,但是在最近的几个月内有了回温趋势,所以,如果按死亡复活的套路来看,Java和C语言来看,目前应该是处于复活阶段。

JavaScript是TIOBE排行榜中的一个异数。JavaScript近几年一直被捧得很高,今年,斯坦福大学著名的编程入门课程弃Java而取JavaScript,这无疑是对JavaScript的流行度的肯定,而且在GitHub中JavaScript的代码数量也有明显的增多,但是JavaScript却从来没有在TIOBE榜单中占据主导地位,而且从去年起,就一直在第七位和第八位徘徊。

图2:编程语言打假,Java、C、GO等流量担当的热度是否有水分?

8月份,TIOBE榜单中排名前十的、延续上升趋势的唯二编程语言分别是Ruby和Visual Basic.NET,Ruby从12位冲进前十,Visual Basic.NET从第八位上升到第六位。而且从TIOBE的走势来看, Ruby和Visual Basic.NET很相似,虽然偶尔会有下降趋势,但整体上形势一片大好,所以我们理由相信未来Ruby和Visual Basic.NET有可能上演大反击。

但是,如果去Stack Overflow Trends看Visual Basic.NET的走势,那么我们就会发现一个完全不同的趋势,个人认为Stack Overflow Trends的走势分析可能更准确一些。

图3:编程语言打假,Java、C、GO等流量担当的热度是否有水分?

TIOBE榜单上朝着积极方向发展的语言分别是GO和Dart,它们分别从20位上升到16位,从26位上升到20位。但是从StackOverflow Trends来看,GO和Dart的走势却没有那么积极,进入2017年几乎一直在走低。

图4:编程语言打假,Java、C、GO等流量担当的热度是否有水分?

本月的TIOBE榜单中哪些语言最积极:

本月呈现积极上升趋势的是一些新兴语言,尤其是Crystal(#32),Kotlin(#41),Clojure(#42),Hack(#43)和Julia(#46)。 Crystal在一个月内从60位一度跃升至32位,可谓是超常发挥。Crystal编程语言是一个静态类型的Ruby变体。由于它是被编译,所以速度非常快,而且占用内存很小,易于使用,是很值得一试的编程语言。

因为Crystal与Crystal Reports的名称冲突,所以Stack Overflow Trends不易监控到。

另外,这里值得一提的是,Kotlin可能是编程语言中真正的“流量担当”,无论是从哪个榜单来看,它的整体趋势都是上升的,热度不减。