04年四月发生了什么事?

刚看到《TIOBE2005年10月程序语言使用排行榜》,与我上次看到这个排行榜时相比,ABAP跌出了前二十名。

毫不意外的是,JAVA、C、C++这前三名仍然是占据了最大的一块份额,而凭着在Web开发领域的历史优势,PHP和Perl也以较大的份额居于前五之列。

这 都不是我最关注的,而是因为这份报告比较完整,其中有一个“长线变化趋势图”。这个图非常有意思,可以看出很多东东来,比如在图的最左边,01年的时候. net刚诞生,对DELPHI和JAVA的冲击最大,但BASIC和C#并未因此得到什么好处,但是PHP在这段时间里得到很大的发展,一举从第三集团进 入到了第二集团。

而这其中最引起我注意的就是大约在2004年4月左右的这个时间点上。在此之前,这十种主流程序语言各自所占的份 额并没有很大的变化(PHP和C++的波动幅度略大),但是就在04年4月,突然就发生了巨大的变化,可是我始终没有想到那个时间在软件开发界有过什么大 的风波(有谁知道的麻烦告诉我一下)。

不知道原因只好分析这个结果。

首先可以注意到,其中的C、C#、PERL和JS是很坚定的,没有什么大的变化。但其它六种语言的份额则都发生了相当大的波动。

最明显的就是排名第一的JAVA的份额一下子跌到C以下,直到今年6月以后才重新回到第一的位置。同时下跌的还有C++和PHP,不过它们的下跌幅度相对较小,并且在04年8、9月份就基本上收回失地了。

有 跌就有涨,而且相当的对称,三种语言的份额下跌正对应的三种语言的份额上涨。在图中涨幅最大的无疑就是PYTHON,而且这一涨就持续到今年初才慢慢消 退。另一个是DELPHI,其涨跌曲线几乎与PYTHON相同。还有一个就是BASIC系,不过它的涨幅相对较小,而且持续时间也要短一些。

从 这一系列变化中,可以注意到,动荡的期间主要是在去年4月到今年年初这一段时间里。在此之前,十大主流语言的定位是很明确的,各自所占的份额也很稳定。其 中,JAVA、C、C++占据第一集团,PERL、BASIC、PHP占据第二集团,DELPHI、PYTHON、C#、JS占据第四集团。

但在这一段混乱之后,这一格局发生了一些变化,最显著的一点就是C++从第一集团退到了第二集团的位置上,并且第一集团的JAVA和C的总份额有较大幅度的下降,而第二集团和第三集团的总份额有一定程度的上升。并且到了今年开始,逐渐形成了新的稳定态势。

这说明什么问题?我作一下个人的猜测吧。

第一:JAVA和PHP的下跌与PYTHON的上升应该是对应的,因为没有其它动态语言如RUBY和LUA的比较,不能肯定,但是至少我是知道在去年四五月间动态语言突然很走红起来,所以这很可能与此有关,JAVA和PHP受到了动态语言的冲击。

第二:C++的下跌与自身定位不明确有关,用作系统开发,它不如C性能好,用作应用开发,它不如JAVA方便,所以才会跌入到第二集团。

第三:DELPHI和BASIC的重振则大概与LONGHORN(现在的VISTA)不断推迟发布以及.net未能达到人们的预期有关。随着VISTA等的发布,这一波应该就会慢慢消退下去。

第 四:动态语言的影响必然还会扩大,虽然从图上看PYTHON的份额正在减少,但我认为,这更多的是因为RUBY的影响,而不是别的,只是因为图上没有 RUBY,所以没有表现出来。今年以来,Ruby on Rails的影响越来越大,这肯定会给PYTHON带来很大的压力,同时也对JAVA的份额回升有相当大的影响。

那么未来趋势如何呢?

如 果我估计得不错的话,动态语言的影响还会持续扩大,RUBY就进入前十也不是不可能的事,而PYTHON如果能有一些更好的改进,应该也会有更好的表现。 JAVA还会是应用开发的头号语言,C、PERL将继续保持稳定,而PHP将稳中略有小幅上下,JS应该会随着AJAX的流行而稳中有升,C#将继续现在 稳中小幅上升的势头。C++如果没有什么意外的话,应该会在第二集团保持稳定——可能会受C++/CLI和C++0x的影响而有一些变数。而DELPHI 和BASIC将大致按现在的趋势保持稳中有降。

以上纯属个人猜测,仅供参考。(说得好像股评员一般-_-|||)