甲:听说最近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年度报告:

  1. 开发者数量超过3100万
  2. 企业账号超过210万
  3. 存储库数量超过 9600万
  4. Pull Request 数量超过2亿
  5. 各国开发者排行,美国、中国、加拿大分列前三
  6. 在中国,春节期间代码提交较少


以上数据涞源GitHub的“Octoverse”报告:https://octoverse.github.com/

四、StackOverflow

著名的栈溢出网站(StackOverflow)是一个问答平台。它有超过400万的用户,问答了1000多万个问题。

Stack OverFlow年度调查结果榜:每年Stack OverFlow都会让开发者参与一项调查;2018年1月,有超过10万开发者参加了长达30分钟的问卷调查。调查设计程序开发的各个方面。这个调查中有很多有趣的问答:今年,我们讨论了一些新的主题,从人工智能到编码伦理。以下是今年结果中的一些最重要的内容:

  1. DevOps和机器学习是当今软件行业的重要趋势
  2. 只有很小一部分开发人员说他们会编写不道德的代码
  3. 开发人员对人工智能提供的可能性总体上持乐观态度,但对人工智能的危险性并不一致。
  4. 在我们的调查中,Python已经在编程语言的行列中崛起,今年超越了C#,就像它去年超过PHP一样。
  5. 在评估预期工作时,不同类型的开发人员应用不同的优先级。女性表示,她们的首要任务是公司文化和职业发展机会,而男性则表示,他们的首要任务是薪酬和使用特定技术。

我看到还有一项有趣的调查令我我很意外:最爱的框架、包 或者工具的第一竟然是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三足鼎立的局面吗?的更多相关文章

  1. GetNumber的实现(Python & Java & Golang)

    TCO2014的编程赢取门票的题目,大致是从一个数组(大小为K),可以选取1-K个数,必须保证这n个数是从1-n,返回所有的选取方法个数. 思路:首先是得到从1开始连续的数,保存每个数的个数.然后通过 ...

  2. Python与Golang协程异同

    背景知识 这里先给出一些常用的知识点简要说明,以便理解后面的文章内容. 进程的定义: 进程,是计算机中已运行程序的实体.程序本身只是指令.数据及其组织形式的描述,进程才是程序的真正运行实例. 线程的定 ...

  3. paip.判断字符是否中文与以及判读是否是汉字uapi python java php

    paip.判断字符是否中文与以及判读是否是汉字uapi python java php   ##判断中文的原理 注意: 中文与汉字CJKV 的区别..日本,韩国,新加坡,古越南等国家也用汉字,但不是中 ...

  4. paip.截取字符串byLastDot方法总结uapi python java php c# 总结

    paip.截取字符串byLastDot方法总结uapi python java php c# 总结 ========uapi   left_byLastDot   right_byLastDot 目前 ...

  5. paip.文件目录操作uAPI php python java对照

    paip.文件目录操作uAPI php python java对照 chdir -- 改变目录 chroot -- 改变根目录 dir -- directory 类 closedir -- 关闭目录句 ...

  6. 第一章.java&golang的区别之:闭包

    对于golang一直存有觊觎之心,但一直苦于没有下定决心去学习研究,最近开始接触golang.就我个人来说,学习golang的原动力是因为想要站在java语言之外来审视java和其它语言的区别,再就是 ...

  7. vim python和golang开发环境配置

    首先在-下新建目录.vim和配置文件.vimrc,.vimrc内容如下: syntax on set nocompatible filetype off set rtp+=~/.vim/bundle/ ...

  8. 深入浅出爬虫之道: Python、Golang与GraphQuery的对比

    深入浅出爬虫之道: Python.Golang与GraphQuery的对比 本文将分别使用 Python ,Golang 以及 GraphQuery 来解析某网站的 素材详情页面 ,这个页面的特色是具 ...

  9. 十大经典排序算法(Python,Java实现)

    参照:https://www.cnblogs.com/wuxinyan/p/8615127.html https://www.cnblogs.com/onepixel/articles/7674659 ...

随机推荐

  1. java之Spring(IOC)装配Bean(手动装配、自动装配、注解装配)

    在上一篇控制反转中我们看到了依靠一个Bean文件来实现对代码的控制,可谓十分便捷,再也不用去实例化对象了,2333~~~ 1.手动装配 <bean id="todo" cla ...

  2. angular2 安装 打包成发布项目过程

    安装之前要有typings和typescript全局已经安装好 安装命令新版为npm install -g @angular/cli 原来的angular-cli为老版的,我安装失败了 安装之后新建一 ...

  3. 使用ssh keys实现免验证登陆远程服务

    使用ssh keys实现免验证登陆远程服务========================Created 星期四 10 五月 2018 引言------------------程序员或者服务器运维人员 ...

  4. Python_zip&rar

    import zipfile fp=zipfile.ZipFile('/Users/c2apple/Desktop/彩屏/旭威XW-6600.zip','r') for f in fp.filelis ...

  5. github routine

    1. 从官方库fork 自己的分支库后,git clone到local. 2. local的remotes/origin默认是自己的分支库.可以添加remotes/upstream指向官方库. 3. ...

  6. IntelliJ IDEA maven 构建简单springmvc项目

    环境: apache-tomcat-8.5.15 jdk1.8.0_172 IDEA 建立一个maven-webapp项目:Create New Project 后点击next 然后next 可以选择 ...

  7. 如何使用 toml 配置 SpaceVim

    配置 SpaceVim 主要包括以下几个内容: 设置 SpaceVim 选项 启动/禁用模块 添加自定义插件 添加自定义按键映射以及插件配置 设置SpaceVim选项 原先,在 init.vim 文件 ...

  8. Unite Beijing 2018 参会简要分享

    一. Training Day 主讲人:鲍建运 操作:马瑞 课程包括较为完整的功能,如灯光设置,角色动画控制,Cinemachine,Timeline,AI寻路,以及最新的Post Processin ...

  9. Java线程池中submit() 和 execute()方法的区别

    两个方法都可以向线程池提交任务, execute()方法的返回类型是void,它定义在Executor接口中, 而submit()方法可以返回持有计算结果的Future对象,它定义在ExecutorS ...

  10. 页面读取Excel

    var input = document.getElementById("file");    //支持chrome IE10    if (window.FileReader) ...