PHP 到底是不是宇宙第一?TIOBE 排行榜来证明!

做为一名程序员,都比较关注其使用编程语言的热度,一方面编程语言的热度决定了它拥有多大的市场,另一方面也关系到行业内程序员选择机会有多大。

我们总听说某个编程语言排名第一,那么这些数据到底准不准确呢?

1

PHP是不是宇宙第一?

比如,我们经常会听到一句话:PHP 是宇宙第一编程语言

关于这个问题,我们很容易在 TIOBE 排行榜上得到求证,上图是2002-2019年前10大编程语言排行情况。

可以明显看出 PHP 虽然也算是一个比较流行的编程语言,但其历史上就从来没有成为过第一,在 PHP 最巅峰时刻,排名成绩也只能在第三、四名。

那么这些数据是从何而来,又是如何计算的呢?

我相信每个程序员应该都听说过 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个符合以下条件的网站:

  1. 该网站的入口页面包含一个搜索工具
  2. 查询该网站的结果包含页面点击数量的指示结果
  3. 应该以带有清晰标签的 HTML
  4. 具有特殊字符的语言搜索引擎应该被正确编码
  5. 搜索引擎应该至少返回1个查询
  6. 查询该网站的结果不应包含太多的异常值
  7. 色情网站不包含在内

基于上面的标准,符合条件的搜索引擎如下:

  • 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 Python

2017 C

2016 Go

2015 Java

2014 JavaScript

2013 Transact-SQL

2012 Objective-C

2011 Objective-C

2010 Python

2009 Go

2008 C

2007 Python

2006 Ruby

2005 Java

2004 PHP

2003 C++

6

最后

TIOBE只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好。所以如果你使用的编程语言没有排在前面也不要太沮丧,它并不代表使用的编程语言重要程度。

但是关注 TIOBE 编程语言排行榜也具有一定指导意义,做为编程领域内唯一具有权威性的排行榜,对我们选择编程语言时起到一个参考作用,毕竟谁也不想学一个没有市场的编程语言。

编程语言的热度也是市场的一种反应,比如 2015年 因为 Andriod 的大爆发,Java 成了年度编程语言;2018 年人工智能大热,Python 直接飙升到排名第三。

对于一名想要从事编程工作的小白来讲,选择编程语言时最好选择排名比较靠前的,这样不论是学习资料还是工作机会都相对比较多,后面发展的机会也相对多一点。

参考:http://www.htmer.com/article/732.htmhttps://www.shukaiming.com/article/55

Image placeholder
IT头条
未设置
  56人点赞

没有讨论,发表一下自己的看法吧

推荐文章
PHP跌出前十,铁打的 Python 连续3年第一:IEEE Spectrum 2019编程语言排行榜出炉

Python势头不减,依旧第一,而且进一步拉开了与其他语言的差距。这一结果,来自IEEESpectrum2019年度编程语言排行榜。这已经是Python连续3年保持第一。在Python之下,第二交椅的

中国互联网公司亏损能力排行榜

作者 |  挖数来源| 挖数(ID:washu66)很多互联网公司整天吹自己市值多高,用户数有多少,实际上是亏损的,而另外有些公司市值并不高,但实际上非常赚钱。挖数这几天收集了包括A股、港股和美股共计

Node.js 到底是什么?

Node.js是一个JavaScript的运行环境,听起来很棒,然而是什么意思呢?它又是怎么使用的呢? Node运行环境涵盖所有你运行用JavaScript编写的项目所需要的东西。如果你知道Java的

Stack Overflow上188万浏览量的提问:Java 到底是值传递还是引用传递?

在逛StackOverflow的时候,发现了一些访问量像阿尔卑斯山一样高的问题,比如说这个:Java到底是值传递还是引用传递?访问量足足有188万+,这不得了啊!说明有很多很多的程序员被这个问题困扰过

Spring Boot到底是怎么运行的,你知道吗?

导读SpringBoot方式的项目开发已经逐步成为Java应用开发领域的主流框架,它不仅可以方便地创建生产级的Spring应用程序,还能轻松地通过一些注解配置与目前比较流行的微服务框架SpringCl

“加班文化”到底是如何流行起来的

        说起互联网行业,大家最先想到的都是弹性工作制度,薪资诱人,夜宵福利,晚上报销打车费这些标签,但是作为一个扎根互联网行业的资深战士。我只想告诉大家,这些福利,都是在为互联网行业的陋习:“

华为“鸿蒙”所涉及的微内核到底是什么?一文带你认识微内核

微内核最近微内核的概念常常被大家提及,同时还有GoogleFuchisa这样的微内核新星,这里让我们一起来认识下微内核吧。背景庞大的UNIX家族计算机技术在二战后快速发展,构成计算机的主要基本单元从电

微服务?数据库?它们之间到底是啥关系?

过去几年来,“微服务架构”这个术语持续火热,它描述了一种将软件应用程序设计为可独立部署的服务套件的特定方式。尽管这种架构风格没有确切的定义,但围绕业务能力,自动化部署,网点智能以及语言和数据的分散控制

全球首个AI宇宙模拟器发布!6亿光年宽度,还“自行”跑出了暗物质

大数据文摘出品作者:易琬玉、曹培信《创世纪》里,神用7天创造了这个世界。而现在,你可能也有机会体验这个过程,创造一个属于自己的宇宙。6月11日,SpaceEngine0.990版本在Steam平台发售

《零知识证明在区块链上的应用》

2019年11月26日,同济创业谷与PPIOCodeTalks联合举办了《创新X-区块链与创新创业》区块链技术分享会。在本次分享会中,我们有幸邀请到了四位重量级嘉宾来做主题分享。在本期文章中,我们先向

最流行的 Go Web 框架: GitHub Star 数量排行(2019)

搜索到了这个资源,可以一目了然地看到GitHub上GoWeb框架受欢迎程度,分享给大家。项目名称 GitHubStar数 创建年份 gin 33177 2014 beego 22599 2012 ir

2019年8月数据库流行度排行:双星闪耀 MySQL 成月度最大赢家

炎炎夏日,DB-Engines的8月榜单已经发布,本月积分MySQL获得了最显著的增长,较上月增加了24分,Oracle获得了18分的增长,Oracle公司的两个王牌产品,闪耀8月。以下是前10名的榜

2019年9月数据库流行度排行:MySQL 强劲增长完成深 V 反转

导读:DB-Engines的2019年9月数据库流行度排行榜已经发布,本月最耀眼的明星是MySQL,分值大幅增长25.39分,较年初已经上升了125分,增幅达10%,完成了一次深V反转。相较之下,Or

2019年7月数据库流行度排行:Oracle王者归来获大幅增长

2019已然走过一半,DB-Engines的数据库流行度排行榜7月出炉,这可以算是数据库流行度的半年报了。7月的明星产品是Oracle,其积分大幅增长了22分,较去年同期增长了43分,这说明Oracl

最受欢迎的编程语言排行:Python与Java谁更受欢迎?

Python在全球开发人员中的受欢迎程度急剧上升,专注于研究开发人员的SlashData最近公布了实际使用该语言的开发人员数量。根据SlashData的数据,目前世界上有820万使用Python编写代

每天凌晨下班,你是不是觉得特别光荣?

题图: fromZoommy当年刚去东方购物报到的第一天,直属上司就提醒我:“小王,虽然公司17点30分下班,但如果你的领导没有离开,你是没有权利下班的,明白了吗?”当年,我就是个愣头青,觉得这样挺好

javascript如何判断是不是整数?

方式一、使用取余运算符判断任何整数都会被1整除,即余数是0。利用这个规则来判断是否是整数。functionisInteger(obj){ returnobj%1===0 } isInteger(3);

BI中的AI是不是还远着呢?

没有人怀疑BI和AI的融合趋势,但是对于智能的未来还有多远依然见仁见智。而通往未来的路一定是在脚下,把握当前的发展情况至关重要。日前帆软研究院发布了《商业智能(BI)白皮书1.0》(以下简称《白皮书》

多次问鼎 NuerIPS、MRQA 等国际顶级比赛,百度 NLP 技术到底有多强?

人工智能技术的发展尤其是深度学习技术的成功运用,推动自然语言处理(NLP)进入了高速发展阶段。NLP目前也是应用范围最广的人工智能技术之一,已在智能搜索、智能客服、智能助手、智能推荐等方面得到了大规模

跳来跳去,到底去大公司还是小公司?

作者:一颗卤蛋,https://dwz.cn/NA3E0JFG职场生涯总会面临着选择,尤其对我们这些IT人来说,跳槽的频率应该是所有行业中相当大的了。那么我们跳来跳去,究竟该选择什么样的公司?大or小

程序员到底要不要接外包?

之前写过一篇文章,题目叫做《窝在二线城市很难受,要杀回一线城市吗》,里面提到程序员接外包这件事,于是很多小伙伴就私下问我:二哥,我也想接外包,但不知道去哪里接,能介绍一些吗?其实接外包最直接的方式,就

技术总监到底要不要写代码?

这是一个非常敏感的话题,每次谈论到技术总监要不要写代码的时候,总会引起一片争论。有的程序员说技术总监如果不写代码怎么能领导好技术团队;有的说技术总监还需要写代码?如果技术总监都需要写代码的话,那技术团

InnoDB到底支不支持哈希索引,为啥不同的人说的不一样?

继续回答水友提问(最近问MySQL的多):沈老师,我在网上看到不同的资料,有的说InnoDB支持哈希索引,有的说不支持,到底哪个是正确的呢?对于InnoDB的哈希索引,确切的应该这么说:(1)Inno

你公司到底需不需要引入实时计算引擎?| 推荐

大数据发展至今,数据呈指数倍的增长,对实效性的要求也越来越高,于是像上面这种需求也变得越来越多了。那这些场景对应着什么业务需求呢?我们来总结下,大概如下:初看这些需求,是不是感觉很难?那么我们接下来来

建一个5G基站,到底要花多少钱?

自从国内5G正式宣布商用之后,全国各地的5G网络建设速度明显加快了。5G基站的身影,出现在越来越多的城市、角落。5G信号的覆盖范围,也在不断扩大。这意味着,5G的投资已经全面启动,并且在不断增加。一直