在程序员的世界里一直流传着这样的一个笑话:
某女:你能让这个论坛的人都吵起来,我今晚就跟你走。
某软件工程师:PHP是最好的语言!
某论坛真的就炸锅了,各种吵架……
某女:服了你了,我们走吧,你想干啥都行。
某软件工程师:今天不行,我一定要说服他们,PHP必须是最好的语言……
对于编程语言的排名之争就从来没有消停过,每个月我们都能在行业主流媒体中看到编程语言的排行榜。但是为什么,我们经常会发现,有的媒体报道说Java第一
,而有的媒体报道说Python第一,排行榜又都有模有样,这都是真实的吗?
以2019年7月编程语言排行榜为例,我们可以找到各主流媒体发布的排行榜有下面两个版本:
版本1:
版本2:
为什么我们在不同地方会这样两个截然不同的结果呢?这是由于这两份榜单来自来个不同的组织,其中版本1为TIOBE排行榜,版本2位PYPL排行榜。
那么这两个都是什么鬼呢?下面一起来看看。
TIOBE排行榜
TIOBE编程语言排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网有经验的程序员、课程和第三方厂商的数量。排名使用著名的搜索引擎(诸如Google、MSN、Yahoo!、Wikipedia、YouTube以及Baidu等)进行计算。请注意这个排行榜只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。
官方地址:https://www.tiobe.com/tiobe-index/
PYPL排行榜
PYPL排行榜也是一个关于编程语言流行度的参考指标,其榜单数据的排名均是根据榜单对象在 Google 上相关的搜索频率进行统计排名,原始数据来自 Google Trends,也就是说某项语言或者某款 IDE 在 Google 上搜索频率越高,表示它越受欢迎。如果你相信这些来自众多开发者以及用户的选择,我们可以将 PYPL 作为一个参考,以帮助决定学习何种语言或 IDE,或者在新的软件项目中使用何种语言或数据库。
官方地址:http://pypl.github.io/PYPL.html
总结
由于这两个榜单的依据不同,所以榜单结果出现不同是非常正常的现象。同时,这两个榜单其实都只是反映了编程语言的热门与受欢迎程度,与语言本身的好坏并没有直接关系。我认为每一个语言的热门很多时候都与语言本身特性所擅长的领域发展趋势会有很大的关系,由于每个语言的某些特点会在某些方面具备独特的优势,这些优势对于某些领域又特别的适配,当这个领域中有很大的突破时,就极有可能引起某个语言的崛起。
那么在我们学习的过程中,是不是一定要照着趋势走呢?个人建议并不要以此作为唯一参考,还是要结合自己的兴趣来选择学习方向。虽然某个领域的发展会带来更多这个语言的相关岗位,但是热门的同时也会带来更多人与人之间的竞争。这既是学习热门语言的优势,也是劣势。所以,更多的还是要去考虑,这个热门背后所处领域是否是你所热爱并且可以沉下心去学习和坚持的方向。因为唯有热爱与坚持,才能让你在程序人生中屹立不倒!