1、简单聊一聊
2、C is back in the number one spot
编程语言的排行其实一直是大家争议的一个话题,因为这涉及到统计学的相关技术,然而统计的最后结果更是受非常多因素影响的,比如说统计的样本数量、样本对象,统计的方法等等,不同的统计标准也就会产生其他不同的排行榜,其中TIOBE排行榜是通过搜索引擎来进行统计排行的,所以说也是存在它的统计局限的,不过如果我们的问题与该统计方式相关,那么该数据还是具有一定参考价值的。
下面是作者在TIOBE官网获得的相关排行图片:
大家也可以在其官网(https://www.tiobe.com/tiobe-index/)获得更多数据和信息。
5月数据排行信息:
历史排行图表:
历史排名表格(取12个月的平均值排名):
几点个人分析:
1)首先在TIOBE官网排行榜文章开头
2)从历史排行图表我们可以看到除了16年-18年C语言跟JAVA语言有比较大的差距之外,其他年限基本相差不大,至于这个时间段JAVA为什么超过C那么多,其实没有太多讨论的必要了,因为目前已经趋于平稳。
3)从历史排行表格中我们看到C语言长期居于1、2名,那是相当的稳定,C语言作为一名古老的语言,能够在将近50年的时间里保持活力,可以说是经得起时间的考研。
4)可以看到一些语言都趋于非常大的波动,个人觉得编程语言跟我们的软件是一样的,都是为了满足人类社会需求的产物,可以说目前人类社会发展的每个阶段都会对所有的编程语言进行选择,"适者生存、不适者淘汰"。
3、到底谁才是最好的编程语言?
这个问题已经成为大部分码农圈子里的永久话题了,许多人应该都会努力的推荐自己领域所热门的编程语言,每当有一种编程语言排行榜出来更是热闹得很(也许这也算是程序员的生活吧),所以也会导致很多初学的小伙伴更加迷惑。
从TIOBE排行榜来看,其实语言的热度趋势不是固定不变的,不同时段不同环境都是波动起伏的,更何况该统计方式与你的问题相关性不一定很强,所以一个时刻的热度根本无法说明问题,未来不可知,不过可期。
作者其实在学校阶段也曾经思考过这个问题,也逛遍了各大论坛,问遍了各个小伙伴,当时我并没有得到一个让我满意的答案,反而更加苦恼迷糊,现在想想当时的纠结和疑惑都是多余的,反而是在浪费时间。
作者的个人观点:
1)语言的热度其实与大部分普通程序员关系并不大,唯一要做的就是满足市场和客户需求,紧跟公司战略,不过对于语言的设计和推广维护那就不同。
2)语言仅仅只是技术的一小部分,对于软件的整体设计思路和模式,算法的实现并不属于语言本身。
3)语言对于市场对人才的需求量没有直接的联系,人才的需求是一个综合性指标,跟行业的发展有着直接关系。
作者个人的几点建议:
1)是否感兴趣或者热爱?如果你有自己热爱的方向,就勇敢去追,如果不是接着往下看。
2)是否已经了解你所学的知识、专业或者领域?如果没有的话,还是先了解清楚,同时你还需要了解所认为不错的领域,并且定位到个人情况。
3)是否有深入实战过?不是说简单的玩玩开发板,烧录几个程序,而是用系统的角度设计软件,解决项目中的问题。
4)保持学习的热情,活到老学到老,没有一劳永逸,也无需太计较得与失,因为它们都是你人生中宝贵的经验。
本文授权转载自公众号“最后一个bug”,作者未知bug