点击▲关注 “CU技术社区” 给公众号标星置顶
更加多精彩 第1时间直达
做为一名程序员,都比较关注其运用编程语言的热度,一方面编程语言的热度决定了它持有多大的市场,另一方面亦关系到行业内程序员选取机会有多大。
咱们总听说某个编程语言排名第1,那样这些数据到底准不准确呢?
1 PHP是不是宇宙第1?例如,我们经常会听到一句话:PHP 是宇宙第1编程语言。关于这个问题,咱们很容易在 TIOBE 排行榜上得到求证,上图是2002-2019年前10大编程语言排行状况。能够显著看出 PHP 虽然亦算是一个比较流行的编程语言,但其历史上就从来无作为过第1,在 PHP 最巅峰时刻,排名成绩亦只能在第3、四名。那么这些数据是从何而来,又是怎样计算的呢?我相信每一个程序员应该都听说过 TIOBE 这个名字,由于几乎每月都有媒介报告当月 TIOBE 编程语言排行榜,以至于它作为编程语言排行榜行业最权威的组织。因此我始终就在好奇,TIOBE 到底是个什么公司?她们又是怎样计算编程语言排行榜的?且听我慢慢道来。
2 TIOBE 机构介绍TIOBE 机构成立于 2000年10月1日,由瑞士的机构 Synspace 和有些独立的投资人创建。TIOBE是"The Importance Of Being Earnest"的缩写,该机构重点关注于软件质量的评定。TIOBE 程序设计语言指数是由于该机构推出并进行守护的,这个指数将程序设计语言以排名列表的形式供给出来,并且每一个月更新一次,用来暗示程序设计语言的流行度。TIOBE 排行榜是按照互联网上有经验的程序员、课程和第三方厂商的数量,并运用搜索引擎(如Google、Bing、Yahoo!)以及 Wikipedia、Amazon、YouTube 统计出排名数据,只是反映某个编程语言的热门程度,并不可说明一门编程语言好欠好,或一门语言所编写的代码数量多少。该指数能够用来检阅研发者的编程技能能否跟上趋势,或是不是有必要作出战略改变,以及什么编程语言是应该即时把握的。观察认为,该指数反应的虽并非当前最流行或应用最广的语言,但对世界范围内研发语言的走势仍拥有重要参考道理。下图为 TIOBE 10 月最新编程语言前20名:榜单位置:https://www.tiobe.com/tiobe-index/
3 TIOBE编程语言排名的评定办法TIOBE 指数的评定是经过统计该编程语言在主流搜索引擎上被搜索的次数来计算的。搜索包含在搜索引擎,资讯组及博客上的搜索等,主流搜索引擎由 Alexa.com 网站上的排名来决定。通常来讲,仅有符合要求的搜索引擎,符合要求的编程语言才会被计入 TIOBE 指数。下面有25个搜索引擎用于计算 TIOBE 指数。所选搜索引擎是 Alexa 排名最高的25个符合以下要求的网站:该网站的入口页面包括一个搜索工具查找该网站的结果包括页面点击数量的指示结果应该以带有清晰标签的 HTML拥有特殊字符的语言搜索引擎应该被正确编码搜索引擎应该最少返回1个查找查找该网站的结果不该包括太多的反常值色情网站不包括在内基于上面的标准,符合要求的搜索引擎如下:
Google.com: 7.69%
Baidu.com: 7.38%
Wikipedia.org: 7.08%
Yahoo.com: 6.77%
Csdn.net: 6.46%
Bing.com: 6.15%
Google.com.hk: 5.85%
Ebay.com: 5.54%
Google.co.in: 5.23%
Msn.com: 4.92%
Hao123.com: 4.62%
Amazon.in: 4.31%
Google.com.br: 4.00%
Google.co.jp: 3.69%
Google.de: 3.38%
Google.ru: 3.08%
Amazon.co.uk: 2.77%
Google.fr: 2.46%
Indeed.com: 2.15%
Google.es: 1.85%
Google.it: 1.54%
Sogou.com: 1.23%
Google.cn: 0.92%
Google.com.tw: 0.62%
Google.com.mx: 0.31% 能够看到大部分的搜索引擎都来自谷歌,亦从另一方表现了谷歌的国际化程度。国内重点有百度、Csdn、Hao123、搜狗等符合要求,这个结果凸显了百度、 CSDN 和 搜狗在国际上的影响力。亦能够说重点是由于以上 25 个网站,每一个月的搜索状况来决定当月编程语言的排行榜。指数计算公式倘若用 "hits(PL#i,SE)"暗示编程语言 PL 在搜索引擎 SE 上的指数排名为 i 的搜索次数,n 暗示搜索引擎个数,则 PL 在前 50 名编程语言中排名评定的计算公式为((hits(PL#i,SE1)/hits(PL#1) + ... + hits(PL#50)) + ... + (hits(PL#i,SEn)/hits(PL#1) + ... + hits(PL#50)))/n
4 TIOBE指数的3个必须要求被选入 TIOBE 指数的编程语言必须满足3个必须要求:①它在维基百科有属于自己的词条,且维基百科清晰地描述了它是一门编程语言,这便是为何(Ruby on) Rails, Excel, Android, Boost, Cocoa, ASP and AJAX 无被选进 TIOBE 指数排行中的原由。②它应该拥有图灵完整性(http://en.wikipedia.org/wiki/Turing_completeness),因此呢 XML 和 HTML 不可被计入其中,这个约束对数据查找语言 SQL 亦是有效的,例如你没法运用 SQL 写出一个无限循环。换一方面来讲,由 SQL 扩展出的 PL/SQL 和 Transact-SQL 属于编程语言的范畴。③它针对格式为+" programming" 的关键词必须最少命中5000次另一哪些类似的编程语言会被分配到一块,但日前为止,只会计算哪些分组到一块的中搜索命中次数最高的那个,后期将思虑运用这些被分组在一块的编程语言的数学并集做为它们的搜索命中次数。下面是多个编程语言被分成一个组的规则要求:①倘若语言有其自己的维基百科条目,则不会与其他语言分组。②倘若语言 A 自动重定向到另一个维基百科条目 B,则 A 将与 B 一块分组。③倘若语言 A 无单独的维基百科条目,但做为另一个维基百科条目 B 的一部分提及,则 A 将与 B 一块分组。
5 年度编程语言TIOBE每年还会评选出一门年度编程语言,暗示该门语言在当年的排名中提升幅度最大。例如在 2018 年的时候 Python 就被评选为年度编程语言,咱们从排行榜上亦能看出 2018 年 Python 直接飙升到第三名。历年的年度编程语言如下:2018 Python2017 C2016 Go2015 Java2014 JavaScript2013 Transact-SQL2012 Objective-C2011 Objective-C2010 Python2009 Go2008 C2007 Python2006 Ruby2005 Java2004 PHP2003 C++
6 最后TIOBE只是反映某个编程语言的热门程度,并不可说明一门编程语言好欠好。因此倘若你运用的编程语言无排在前面亦不要太懊丧,它并不表率运用的编程语言重要程度。然则关注 TIOBE 编程语言排行榜亦拥有必定指点道理,做为编程行业内独一拥有权威性的排行榜,对咱们选取编程语言时起到一个参考功效,毕竟谁亦不想学一个无市场的编程语言。编程语言的热度亦是市场的一种反应,例如 2015年 由于 Andriod 的大爆发,Java 成为了年度编程语言;2018 年人工智能大热,Python 直接飙升到排名第三。针对一名想要从事编程工作的小白来讲,选取编程语言时最好选取排名比较靠前的,这般不论是学习资料还是工作机会都相对比较多,后面发展的机会亦相对多一点。参考:
http://www.htmer.com/article/732.htm
https://www.shukaiming.com/article/55
好看的人才可点
|