Java与C++人气出现历史新低?程序员们不必太过惊慌

Java与C++人气出现历史新低?程序员们不必太过惊慌

累成这样?不用问,肯定是Java程序员。

上个礼拜,TIOBE发布了每月一次的2014年9月计算机编程语言排行榜,其标题可谓相当惊悚——《Java与C++跌至历史新低》。根据TIOBE的评分,这一结论也确非危言耸听。顺带一提,其评分标准为各大搜索引擎上不同编程语言的查询结果数量。本月Java在总体搜索结果当中占据14%份额,保持了自2001年6月26.5%以来持续下降的势头。与之类似,C++的网络搜索份额本月为4.7%,相较2003年8月17.5%的历史最高点也可谓缩水严重。

正如TIOBE团队在文章中指出,这并不意味着Java或者C++已经在编程世界中失去了长久以来的统治地位。两款编程语言都在此次排名中拥有顶尖地位(本月分别名列第二与第四位),保持了多年以来的强劲表现。相反,TIOBE认为二者搜索份额下滑的主要原因在于,当下编程语言领域正出现愈发显著的碎片化趋势。在他们看来,发生这种现象的部分理由是其它编程语言的迅猛发展,特别是像R这样面向特定行业的利基型语言。此类针对性编程语言的膨胀削弱了市场对于通用型语言的高度依赖性。

由于TIOBE所公布的结果只能算是衡量语言人气水平的指标之一,因此在这里我希望能够从更近距离观察Java与C++的实际使用情况、从而得出更为确切的分析结论。

编程语言人气水平(简称PYPL)指标同样根据每月网络搜索结果汇总而成,不过更具体地讲,它所归纳的是谷歌搜索引擎上各编程语言教程结果的实际数量——而非与该语言名称相关的所有条目。从这个角度来看,Java依然保有自己自2004年以来就从未动摇过的最高人气宝座,本月份额为27%、略高于2013年同期水平。C++在编程语言人气榜单上则位列第五,虽然与上年同期的排名相当、但8.8%的份额仍然出现了一定程度的同比缩水。随着时间推移,C++已经开始在人气方面呈现出衰颓之势; 2004年,C++的地位仅次于Java与PHP排在第三,但如今却已经被Pyton及C#等后起之秀所超越。就目前的情况看,C++很可能最终不敌C#。

RedMonk编程语言指标以半年为周期定时发布,所采用的评定方法也有所不同:它着眼于GitHub上的数据(即原始代码行数量)与Stack Exchange人气(根据标签数量)进行综合衡量。在今年6月公布的最新调查报告中,Java与JavaScript作为统一体排在第一位。C++则与Ruby作为统一体排名第六(第三、四、五位分别为PHP、Python以及C#)。RedMonk指标迄今只有约三年历史,而排在榜单头名的各编程语言选手也未出现过太大变动。不过某些更具利基特性的语言在这份榜单中已经表现出了强劲的发展态势。R语言已经在过去四次排名中一路高歌猛进,目前依靠着GitHub活跃度增长的不断推动位列排行榜第十三名(其在TIOBE榜单中位列第二十一,在PYPL中则未能上榜)。而Go同样拥有初生牛犊不怕虎的冲劲,目前在RedMonk指标中位居第二十一位(在TIOBE中则为第三十八位),我们相信其很快就将进入前二十名。

最后,我还对GitHut提供的数据进行了一番考察——它以GitHub归档数据为基础、提供自2012年第二季度以来各编程语言的季度排名及发展趋势。就2014年第二季度来看,Java仅次于JavaScript排在榜单第二位,二者都拥有最为可观的活跃库数量; 而两年之前Java的排名为第三位(当时的第二位为Ruby)。从总体活跃库份额百分比角度看,Java的占比相较于2012年已经出现了小幅增长——由当初的9.1%增加到如今的9.8%。C++在GitHub中的增长幅度则稍逊于Java。目前C++的活跃库数量在各编程语言中名列第七,与两年前相比在排名与整体库份额占比(3.9%)方面都没有出现任何变化。再来看GitHub上近期以来增长速度最快的编程语言:没错,还是R(2013年第四季度为0.3%,2014年第二季度则为1.8%)与Go(2013年第一季度为0.4%,最新季度占比则为0.86%)出尽风头。

总体而言,以上各项调查结果都或多或少验证了TIOBE团队所作出的分析结论:

• Java在使用量方面仍然堪称最具影响力及统治优势的语言之一,而且目前尚无任何迹象表明其发展势头落后于其它编程语言。

• C++同样在顶尖编程语言阵营内牢牢占据着一席之地,不过以C#为代表的一部分其它语言已经呈现出将其超越的显著势头。

• 尽管各编程语言的人气地位没有出现太大变化,但其整体环境正出现碎片化的分裂倾向,其中一部分占据统治优势的语言开始失去原有份额、而相应空间则被R及Go等更具利基特性的语言所夺取。

相关推荐