将来会是Python、Java、Golang三足鼎立的局面吗
作者:猪哥66 发布时间:2023-11-22 09:18:31
甲:听说最近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三足鼎立的局面吗?
来源:https://www.cnblogs.com/pig66/p/10622478.html


猜你喜欢
- Nacos是什么和Eureka,zookeeper,consul相同,Nacos也是一个注册中心组件咯,当然是,不过它不仅仅是注册中心。Na
- Android 仿QQ首页ListView左滑置顶、删除等实现源码,具体内容如下效果图实现源码:package com.dugu
- pom.xml与settings.xmlpom.xml与setting.xml,可以说是Maven中最重要的两个配置文件,决定了Maven的
- springboot jpa 延迟加载问题在springboot中,在application.properties的配置文件中新增sprin
- 1. 概述将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。2. 解决的问题当希望忽
- 发现公司集成apollo后原来的@value注入的属性不用做任何变动,也没有换成apollo的注解,遂略看源码后大致了解,做此笔记1、根据文
- 手动将本地jar添加到Maven仓库将jar添加到本地仓库的做法以下面pom.xml依赖的jar包为例:实际项目中pom.xml依赖写法:&
- 去年买了本数字图像处理算法,一直都没有看,前几个星期都一直忙着工作上的活,趁这阶段悠闲点,玩一玩图片处理,这玩意还是非常有意思的。以前我们在
- String类基本概念String类属于引用数据类型,不属于基本数据类型。在Java中只要是" "(双引号)中的,都是S
- 1.创建动画控制器,双击打开动画控制器,创建 状态并添加动画片段,并且状态与状态之间进行连线,往返的都要有,在Animator的左上角–Pa
- 本文介绍的是关于Mybatis中用OGNL表达式处理动态sql的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:常用的Mybat
- 阶乘(Factorial)是个很有意思的函数,但是不少人都比较怕它,我们来看看两个与阶乘相关的问题: 1、 给定一个整数N,那么N的阶乘N!
- 为避免繁琐的注册登陆,很多平台和网站都会实现三方登陆的功能,增强用户的粘性。这篇文章主要介绍了java实现微信扫码登录第三方网站功能(原理和
- 本文实例讲述了C#邮件定时群发工具Atilia用法。分享给大家供大家参考。具体如下:一、Atilia可以做什么Atilia是一个基于命令行的
- 本文实例讲述了C#中DataSet转化为实体集合类的方法,分享给大家供大家参考。具体实现方法如下:/// <summary>//
- 一、单例模式设计模式:软件设计模式是一套被反复使用、多数人知晓、经过分类编目、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易
- 信息的发送,对于Mms应用程序来讲主要就是在信息数据库中创建并维护一条信息记录,真正的发送过程交由底层(Frameworks层)函数来处理。
- bind函数定义在头文件 functional 中。可以将 bind 函数看作一个通用的函数适配器,它接受一个可调用对象,生成一个新的可调用
- 本文实例讲述了C#实现TCP连接信息统计的方法。分享给大家供大家参考。具体实现方法如下:using System;using System.
- 需求:1、listView可以侧滑item,展示删除按钮,点击删除按钮,删除当前的item2、在删除按钮展示时,点击隐藏删除按钮,不响应it