将来会是Python、Java、Golang三足鼎立的局面吗?
甲:听说最近java跌落神坛,python称霸武林了,你知道吗?
乙:不是吧,我前几天看python怎么还是第三?
丙:你们都在扯蛋,python在2018年就已经是最好的语言了!
乙:不可能吧?
甲:赌什么?
……
作为茶余饭后谈资,语言排名这是我们程序员必备的一个话题,可是因为大家获取的信息不一致就出现上面的尬聊,甚至因为这个话题而争执不休。
归根结底还是因为大家看的语言排行榜不同,而产生了不同的结论,今天猪哥就来带大家盘点,到底有哪些语言排行榜!
一、TIOBE
TIOBE 编程社区索引由荷兰 Eindhoven 的 TIOBE 公司创立和维护。TIOBE 代表着“真诚的重要性”,该索引将每项语言作为关键字,按照搜索引擎的查询数量对语言进行排名。索引每月更新一次。评级基于全球技术工程师,课程和第三方供应商的数量。流行的搜索引擎,如谷歌,必应,雅虎,维基百科,亚马逊,YouTube和百度,用于计算评级。值得注意的是,TIOBE索引与最佳编程语言或编写大多数代码行的语言无关。
简单来说就是根据搜索语言名称的次数来统计排行榜的,一个月更新一次榜单,那具体参考哪些搜索要引擎呢?
TIOBE(读:踢欧比)可以说是最重要也是比较准确的一个排行榜,有两个重要的排名榜要给大家介绍一下:
1.指数榜
就是TIOBE最主要也是编程行业中最重要的一个排名榜,它衡量目前各个语言的热度,下面是2019年3月的指数榜单以及指数曲线

2.年度语言榜
列出所有“年度最佳编程语言”奖获奖者的名人堂如下所示。该奖项授予一年内收视率上升最高的编程语言,2018年Python指数提升最大,所以当选2018年度语言。
数据涞源TIOBE官网:https://www.tiobe.com/tiobe-index/
二、PYPL
编程语言流行指数(PopularitY of Programming Language Index 简称PYPL)是通过分析在Google上搜索语言教程的频率而创建的,搜索语言教程越多,该语言就越受欢迎。这是一个领先的指标,原始数据来自Google。
TIOBE编程语言榜单是一种综合计算形式,数据来源于谷歌、必应、雅虎、维基百科、亚马逊、YouTube 和百度。而PYPL 指数的计算形式则是完全更为直接和精准。只基于 Google trends 数据。根据编程语言在 Google 上的搜索频率,来评估语言的流行度。各语言的趋势高下立判!
既然PYPL数据只来自Google,所以我觉得很难代表国内的一个流行趋势,更多的是一种国际性全球性的语言流行趋势,下面是2019年4月编程语言流行的排行榜。

数据涞源PYPL官网:http://pypl.github.io/PYPL.html
三、GitHub
GitHub是全球最大的开源软件开发与管理社区,包括Google、Facebook等众多技术巨头在内都在这里安营扎寨,GitHub也成为了一探硅谷技术趋势最好的窗口,这个20亿美元的创业公司被开发者戏称为“全球最大同性交友社区(拥有三千万开发者)”,每年GitHub都会推出“Octoverse”报告,其中列出了一些趋势,包括其网站用户中最受欢迎的编程语言。
GitHub的“Octoverse”报告有很多有趣的数据,以下数据涞源2018年度报告:
- 开发者数量超过3100万
- 企业账号超过210万
- 存储库数量超过 9600万
- Pull Request 数量超过2亿
- 各国开发者排行,美国、中国、加拿大分列前三
- 在中国,春节期间代码提交较少

以上数据涞源GitHub的“Octoverse”报告:https://octoverse.github.com/
四、StackOverflow
著名的栈溢出网站(StackOverflow)是一个问答平台。它有超过400万的用户,问答了1000多万个问题。
Stack OverFlow年度调查结果榜:每年Stack OverFlow都会让开发者参与一项调查;2018年1月,有超过10万开发者参加了长达30分钟的问卷调查。调查设计程序开发的各个方面。这个调查中有很多有趣的问答:今年,我们讨论了一些新的主题,从人工智能到编码伦理。以下是今年结果中的一些最重要的内容:
- DevOps和机器学习是当今软件行业的重要趋势
- 只有很小一部分开发人员说他们会编写不道德的代码
- 开发人员对人工智能提供的可能性总体上持乐观态度,但对人工智能的危险性并不一致。
- 在我们的调查中,Python已经在编程语言的行列中崛起,今年超越了C#,就像它去年超过PHP一样。
- 在评估预期工作时,不同类型的开发人员应用不同的优先级。女性表示,她们的首要任务是公司文化和职业发展机会,而男性则表示,他们的首要任务是薪酬和使用特定技术。
我看到还有一项有趣的调查令我我很意外:最爱的框架、包 或者工具的第一竟然是TensorFlow(看来猪哥后面也要出一些TensorFlow的教程了:)
以上数据涞源Stack OverFlow年度调查报告 :https://insights.stackoverflow.com/survey
五、IEEE Spectrum
IEEE Spectrum 对 48 种语言进行排行,其排序综合 9 个重要线上数据源的 11 个指标而成(今年去掉了 Dice,因为其关闭了 API),例如 Stack Overflow、Twitter、Reddit、IEEE Xplore、GitHub、CareerBuilder 等。IEEE Spectrum与其它排行榜不同的是,IEEE Spectrum 可以让读者自己选择参数组合时的权重,得到不同的排序结果。考虑到不同 Spectrum 读者的需求,他们提供了几个预设的权重 —— 如新兴的语言、雇主需求的语言、开源的热门语言等。
今年的榜单中 Python 卫冕成功,并且与第 2 名的距离拉得更远了一些,如今人工智能、大数据等重数据领域的浪潮未息,预估 Python 还会继续火下去。
IEEE Spectrum 2018 编程语言 Top 10 如下:
再看看就业市场对编程语言的需求,前 10 名如下图所示:
以上数据涞源IEEE Spectrum官网 :https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2018
总结
这里猪哥只给大家列举了这五个重要的编程排行指标,其重要性根据顺序依次下降。从这几个排行指标我们可以发现Python已然成为了最流行的语言,但是根据TIOBE和咱们在实际求职中就能感受到目前称霸的仍然是Java。
我们在选择一门编程语言的时候,需要考虑的不仅仅是当前就业需求,还应该考虑到就业竞争和行业前景,可以说现在Java工程师的竞争比Python工程师的竞争要激烈太多了,而且从事Java的开发也非常多,受供求关系影响Java程序员将来会越来越贬值,而反观python开发目前国内起步晚竞争力小,而且政府也在大力支持发展人工智能,Python的路还很长。
《新一代人工智能发展规划》是为抢抓人工智能发展的重大战略机遇,构筑我国人工智能发展的先发优势,加快建设创新型国家和世界科技强国,按照党中央、国务院部署要求制定。由国务院于2017年7月8日印发并实施。 ——百度百科

最后不得不聊的就是最近大火的go语言,我们简单看看go适合做什么:
Go语言主要用作服务器端开发,其定位是用来开发“大型软件”的,主要用作服务器编程、web开发、网络编程云平台等
我们可以看到go语言优势其实和java的优势很像,而python的优势在于数据处理和人工智能等方向,所以go只可能吞噬Java的份额,很难撼动Python的奶酪,所以将来会是Python、Java、Golang三足鼎立的局面吗?
将来会是Python、Java、Golang三足鼎立的局面吗?的更多相关文章
- GetNumber的实现(Python & Java & Golang)
TCO2014的编程赢取门票的题目,大致是从一个数组(大小为K),可以选取1-K个数,必须保证这n个数是从1-n,返回所有的选取方法个数. 思路:首先是得到从1开始连续的数,保存每个数的个数.然后通过 ...
- Python与Golang协程异同
背景知识 这里先给出一些常用的知识点简要说明,以便理解后面的文章内容. 进程的定义: 进程,是计算机中已运行程序的实体.程序本身只是指令.数据及其组织形式的描述,进程才是程序的真正运行实例. 线程的定 ...
- paip.判断字符是否中文与以及判读是否是汉字uapi python java php
paip.判断字符是否中文与以及判读是否是汉字uapi python java php ##判断中文的原理 注意: 中文与汉字CJKV 的区别..日本,韩国,新加坡,古越南等国家也用汉字,但不是中 ...
- paip.截取字符串byLastDot方法总结uapi python java php c# 总结
paip.截取字符串byLastDot方法总结uapi python java php c# 总结 ========uapi left_byLastDot right_byLastDot 目前 ...
- paip.文件目录操作uAPI php python java对照
paip.文件目录操作uAPI php python java对照 chdir -- 改变目录 chroot -- 改变根目录 dir -- directory 类 closedir -- 关闭目录句 ...
- 第一章.java&golang的区别之:闭包
对于golang一直存有觊觎之心,但一直苦于没有下定决心去学习研究,最近开始接触golang.就我个人来说,学习golang的原动力是因为想要站在java语言之外来审视java和其它语言的区别,再就是 ...
- vim python和golang开发环境配置
首先在-下新建目录.vim和配置文件.vimrc,.vimrc内容如下: syntax on set nocompatible filetype off set rtp+=~/.vim/bundle/ ...
- 深入浅出爬虫之道: Python、Golang与GraphQuery的对比
深入浅出爬虫之道: Python.Golang与GraphQuery的对比 本文将分别使用 Python ,Golang 以及 GraphQuery 来解析某网站的 素材详情页面 ,这个页面的特色是具 ...
- 十大经典排序算法(Python,Java实现)
参照:https://www.cnblogs.com/wuxinyan/p/8615127.html https://www.cnblogs.com/onepixel/articles/7674659 ...
随机推荐
- PHP实现zip压缩打包下载
先来看PHP实现文件及文件夹的zip压缩 这里使用PHP扩展的ZipArchive类,在使用之前要将php.ini文件中的zlib.output_compression设置为On 代码如下: publ ...
- 用尽洪荒之力学习Flask源码
WSGIapp.run()werkzeug@app.route('/')ContextLocalLocalStackLocalProxyContext CreateStack pushStack po ...
- log4j配置及使用
一.使用方法: 1.将log4j.properties放到你创建项目的src中 2.引入log4j.jar import org.apache.log4j.*; public class log4jT ...
- 在win10下给vs2013配置opencv3.0
opencv这玩意是真难搞呀. 先吐槽下..... 下面进入正文. 1准备工具: opencv3.0+vs2013 这里面不提供链接下载,自行谷歌百度. 2配置环境: a.打开下载好的opencv(解 ...
- meta的用法
META标签,是HTML语言head区的一个辅助性标签.在几乎所有的page里,我们都可以看 到类似下面这段html代码: -------------------------------------- ...
- [转]关于python中带下划线的变量和函数的意义
Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格.这样就易于阅读, ...
- Python_网络攻击之端口
#绝大多数成功的网络攻击都是以端口扫描开始的,在网络安全和黑客领域,端口扫描是经常用到的技术,可以探测指定主机上是否 #开放了指定端口,进一步判断主机是否运行了某些重要的网络服务,最终判断是否存在潜在 ...
- C语言 > 字符串和字符串函数
输入 gets() 函数 : 1.gets() 从标准输入设备读取字符串,以回车结束读取,使用'\0'结尾,回车符'\n'被舍弃没有遗留在缓冲区. 2.可以用来输入带空格的字符串. 3.可以无限读取, ...
- 在Mac OS X中配置Apache + PHP + MySQL 很详细
这是一篇超级详细的配置mac os下面php+mysql+apache的文章.非常详细我的大部分配置就是参考上面的内容的,比如,PHP不能连接数据库,就是改一下默认的php.ini中pdo_mysql ...
- 在JavaWeb项目中URL中字符串加密解密方案
URL由来: 一般来说,URL只能使用英文字母.阿拉伯数字和某些标点符号,不能使用其他文字和符号.比如,世界上有英文字母的网址 “http://www.abc.com”,但是没有希腊字母的网址“htt ...