在上一篇文章中,我们谈到了编程语言的流行度,今天继续这个话题,专门说说TIOBE指数。
正如以前在文章中提到过,各种编程语言的粉丝们,经常在会在一些开发技术社区里,关于语言之间的优劣进行口水大战,忙得不亦乐乎。就比如说这几天吧,就有一场关于“C# vs Java”的争论很热闹。
当然这种争论不是完全没有意义的,这种争论通常都是拿着一方的某些优势特征,去跟对方叫板:“你看,我用XXX语言,3行搞定这个,你用YYY语言,30行也搞不定吧?”,另一方如果有办法破解,自然会说:“谁说我3行搞不定,这就给你搞一个看看!”。因此在这个过程中,无论是亲自上阵的,还是观战的,都是一个总结和分析的过程,其实对更深入地理解技术,还是有帮助的,所以如果有工夫,也有兴趣,去看看这些争论,对你了解一些语言的某些特性,也挺好,特别是可以帮助你了解一些你不熟悉的语言的特点。
从另一方面来说,也不必太当真。几百上千种语言,最终能成为最流行的几种语言之一,基本上就跟奥运会金牌和银牌之间的差异,真是没多大差别的。但是要指出的是,这种势均力敌,是有时间性的,也许现在势均力敌的竞争对手,几年以后就有明显的差距了。所以,如果你打算掌握一门技术来生存,最好还是能挑一个更为长久的技术和开发工具,否则如果你的工具每况愈下,总是不太好的事情。长江后浪推前浪,小心被拍在沙滩上。就像我们以前还是挺喜欢写一些计算机图书的,但是现在计算机图书市场每况愈下,也不敢太靠这个了,在网上写一些文章,也不错了,出不出书就不去管它了。
下图是 TIOBE 2009年4月发布的数据,最流行的10种编程语言,在近8年中的变化情况。
具体几个数字并不关键,我们可以从大的趋势,看看哪些是上升的,哪些是下降的。首先,4个下降的分别是:Java、C、C++、Perl。
首先,接下来是前8名中,另外4个,他们都是上升的分别是:PHP、Visual Basic、Python、C#。
前十名中,还有两个:Javascript 和 Ruby,他们的份额都相对低多了,都在2%多一点。Javascript的使用率大幅上升,显然是由于Web 2.0 概念推出以后,Ajax等Web前端开发技术兴起带动的。至于Ruby,在中国的流行程度还很低,在国外经过前两年的火爆增长,这两年也没有进一步的大幅提升了。
从上面的一些图中,我们可以看出一些问题来:
1:Java和C,前两名的位置依然牢固,但是使用率确实下降了很多了,C++第3名的位置岌岌可危。
2:大的趋势可以看出,原来的前三名遥遥领先,现在明显各种语言之间的差距明显减小了。
3:上面这些图不能直接叠在一起比较,因为纵坐标的刻度不一样,C#上升了很多,但是仍然远远低于Java。
4:如果要评选一个“稳定进步奖”,那么是非C#莫属了,8年来稳扎稳打,步步为营。
5:就Web开发领域来说,三巨头应该是“Java 、.NET 和PHP”,.NET 对应在上图中,不仅仅对应于C#,还包括Visual Basic,还包括很多人实际上仍然在使用传统的ASP,没有列在图中,因此,如果把三者加在一起,应该和 Java相差不多。