“世上语言千千万,我却独爱这一种!”这句话用来形容程序员和编程语言之间的爱恨情仇实在是再精准不过了。根据GitHub 2016年的开源报告,其上所有开源项目共包含了316种编程语言,这是一个什么概念呢?举个例子来说,世界上共有226个国家和地区,也就是说编程语言的数量比国家数量还多。

想要全部精通这些语言显然是个不可能事件,所以编程语言的选择就有了先后之分。编程语言的好坏之争娱乐性高于知识性,所以本文不以好坏论高下,而是以热度作为参考条件,盘点2017年哪些编程语言最受欢迎。

▲蓝色为Java,红色为Go,黄色为Swift,绿色为Python,紫色为Kotlin

▲蓝色为PHP,红色为Ruby,黄色为C++,绿色为C#

上图是今年话题度比较高的编程语言在Google Trends上的热度情况,我们从中选取Java、Python、R 、Go以及Kotlin语言来进行分析。

Java:编程语言中的“小浣熊”

小浣熊干脆面有一句广告词深入人心“一直被模仿,从未被超越!”如果套用在Java身上,那就是“一直被唱衰,从未被打倒。”Java应该是被死亡次数最多的编程语言,每月TIOBE发布新的榜单,Java都要被拉出来鞭尸,其它编程语言有了哪些新改进,Java也要出来以死垫背陪跑。

Java 是企业拥戴的头号编程语言,它有三大杀手锏:静态类型、更强大的工具,以及具备广度和深度的库的生态系统。任何语言想在这三个领域完全取代Java都不是短时间内能够完成的。

今年,关于Java热度最高的词语应该就是Java 9的发布,Java 9又双叒叕延期的新闻一直传到了近些日子,发布时间才确定下来是9月21日。据悉,Java 9将会有9大重要改进:新模块系统、支持HTTP/2.0、改进的Javadoc、Stream改进、使用新的工厂方法更容易地初始化Collections、接口中的私有方法、语言和语法的改进、增强处理API、增强处理API。

Python:人生苦短,我用Python

IEEE发布了2017年编程语言排行榜,Python位居榜首。从去年开始,Python就借着人工智能的东风,热度一路船高水涨。Python可以说是一门比较功利的语言,它不复杂,读和写都非常易于使用,因此就有了“人生苦短,我用Python”这句调侃。

当然,Python的流行并不仅限于易于使用,它背后还站着一个真正的大佬——Google。自2006年起,谷歌就在多个平台和应用中大量使用Python。除此之外,Python社区的活跃度合支持度也非常高,同时,Python在数据科学中的流行度仅次于R语言。

关于版本问题,Python的功能发布周期为18个月。目前Python基金会正在积极推行Python 3+,据悉2020年将不再支持Python 2.7。另外,Python 4也正在筹备中,据其核心开发人员Nick Coghlan透露,4.0中没有任何深刻的变化或大的向后兼容性的破坏。

R:你们对R语言的力量一无所知

虽然,R语言在TIOBE排行榜中一直都在十几的位置徘徊,但是在IEEE 发布 2017 年编程语言排行榜中却位居第六。这说明R语言在编程语言中扮演的角色是“隐形富豪”,很多人对于R语言的力量一无所知。

在上文中,我们也提到了R语言在数据科学中非常流行,那么R语言可以支持哪些量级的数据集呢?talkR会议上R语言熟手表示百万条记录的数据集可以轻松地用标准R进行处理;百万到十亿条记录的数据集稍微努力一下也可以使用R来处理;十亿条以上的数据集就需要MapReduce算法,而这些算法可以在R中设计,并用Hadoop等连接器进行处理。

当然R语言的力量也不仅止于此,大数据的爆红催生了物联网的发展,很多项目都依赖多个数据源,而R语言恰好支持多数据源加载数据;R语言的学习曲线平缓,只需了解基本编码原则就可以通过内置库来处理大数据;R语言与其他主流的编程语言兼容;就连托管公司也为R语言提供了解决方案。

GO:火得一路拉风带闪电

TIOBE将2016年年度编程语言的桂冠颁给了Go语言,这一年中Go 语言获得了 2.16% 的用户增长,大比分领先其它编程语言,进入2017年,Go语言热度依然不减,整体发展趋势还是向上的。

今年已经是Go语言1.0版本的第五个年头了,在2月份发布了1.8版本之后,Go语言团队就开始慢慢向2.0版本迈进了。据悉,Go 2.0版本首先要保证兼容现有的Go 1.0源代码,其次是要找到方法来解决Go语言的扩展问题。

据Go语言项目和团队的技术主管 Russ Cox在Gophercon上透露,目前全球至少有50万Go开发者,Go源文件和Go代码至少有十亿行。今日头条是国内比较有名的在使用Go的厂商,其后端服务超过80%的流量是跑在 Go 构建的服务上,微服务数量超过100个,高峰 QPS 超过700万,日处理请求量超过3000亿。

Kotlin:一场“任命”引发的爆红

如果要评今年热度蹿升最快的编程语言,Kotlin一定榜上有名。2017年5月,谷歌在IO大会上宣布Kotlin语言将取代JAVA作为安卓开发的一级编程语言,然后在TIOBE的六月份榜单中Kotlin就冲进了前50,位列43位,真可谓是一场“任命”引发的爆红。

近日,Kotlin 1.1.4 发布,其更新内容如下:修复 IDEA 插件中的主要性能回归;添加对包缺省的可控性注解的支持;改进对 Java 9 的支持;添加一个用于 JavaScript 死代码消除的工具,提高对 JS 调试和 JS 单元测试支持的源映射支持;生成更高效的字节码;为 IntelliJ IDEA 插件添加新功能;Android Extensions 插件增强功能。

针对于Java与Kotlin之争,绿鸟集成技术公司CEO Thorsten Heller表示未来Java也许会死,也许不会死,但是毫无疑问Java会受到挑战。而这个挑战者我认为正是Kotlin,它的简单性、精益语法、函数式方法都是其流行度的加码元素。

本文转自d1net(转载)

盘点2017年热度很高的编程语言相关推荐

  1. 禅道设置bug模板_一款热度很高的项目管理和bug工具,免费使用,可在公司推广哦...

    以前在公司会用到各种bug管理工具,但使用最顺手的感觉还是禅道,主要是它除了能满足我的日常工作之外,用户体验上也做的不错 .前段时间领导碰巧看到了工具,觉得使用它管理项目应该不错,打算在全公司推广,让 ...

  2. python特性高移植性_Python特性图文盘点|微胜教育《九大编程语言全解析》系列...

    原标题:Python特性图文盘点|微胜教育<九大编程语言全解析>系列 ​ 又到了每周<九大编程语言全解析>的时候了,小伙伴们五一马上到了,想好去哪浪了吗? 今天我们盘Pytho ...

  3. rust和gta5哪个吃配置_盘点4款Steam“自由度”很高的游戏,GTA5众所周知,目前最热门...

    原标题:盘点4款Steam"自由度"很高的游戏,GTA5众所周知,目前最热门 大家好今天小编给大家带来的是"盘点4款Steam"自由度"很高的游戏,G ...

  4. 2017年热度最高的十大技术类技能

    [51CTO.com快译]Scott Zulpo同志对于激烈的人才市场竞争有着深刻的感受. 他曾先后为自己担任IT副总裁的BU公司特色到一位高级项目经理.一位网络分析师以及五十五名IT人员.他计划在2 ...

  5. 阿里聚安全年终盘点|2017互联网安全领域十大话题

    导语:2017年即将过去,2018新年还有3天,回顾2017,看似很平淡地过去了,但总有一些印记让我们印象深刻.作为互联网安全领域的一份子,阿里聚安全时刻关注着互联网行业的安全事件,让我们一起来盘点2 ...

  6. 盘点 | 2017年,哪些黑科技改变了我们的生活?

    时光如梭,一眨眼的功夫2017 年还剩个尾巴,虽然年初自己许下的愿望还完成几个,但这个世界,过去一年很多事儿,让人拍案叫绝.比如以 AlphaGo. 机器人索菲亚为代表的人工智能,还有无人驾驶.无人超 ...

  7. 盘点2017年晋升为Apache TLP的大数据相关项目

    本文原文:https://www.iteblog.com/archives/2310.html,如下面格式排版错乱,请点击下面阅读原文进入本博客阅读. 本文主要盘点了 2017 年晋升为 Apache ...

  8. 世界排名前20的大学毕业生去做银行柜员,柜员工资是不是很高?

    说到银行柜员估计很多人都五味杂陈,特别是做过银行柜员的更知道其中的酸甜苦辣. 柜员表面看起来是在银行工作,但做却做的是最基层的工作,每天要处理各种琐碎的事情,还要分到各种任务,每个月面临各种考核,每天 ...

  9. 盘点 2017 年度最受欢迎的十大 Linux 服务器发行版

    近期公布的超级计算机 Top 500 排行榜显示,所有入榜的超级计算机都在运行 Linux 操作系统.尽管 Linux 操作系统在桌面上的表现不尽如人意,但作为运行在全球数据中心的服务器.大型计算机和 ...

  10. 盘点2017企业服务领域最受关注的100家厂商(BPM平台篇)

    每一个企业级的人 都置顶了 中国软件网 中国软件网 为你带来最新鲜的行业干货 2012年~2017年是企业服务领域快速发展的五年,不仅移动办公.CRM.HR服务三大主要领域均有不同程度的快速增长,在B ...

最新文章

  1. wpf listview mysql_Kivy:使用MySQL的Kivy页面的Listview实现
  2. Android自定义XML属性以及遇到的命名空间的问题
  3. wxWidgets:用于测试 TAB 导航的示例
  4. 关于App开发:模拟服务器数据接口 - MockApi
  5. jackson实现java对象转支付宝/微信模板消息
  6. UI设计干货素材|如何正确使用直观打折数字使画面更饱满更具促销感!
  7. XPath 获取两个node中间的HTML Nodes
  8. MongDB之shard_主从,副本集,分片的理解
  9. autocad python二次开发_基于Python AutoCAD ActiveX 二次开发,pyautocad应用技术
  10. BAT脚本每隔30秒创建一个512兆文件(测试磁盘监控用)
  11. 遗传算法解决作业调度c语言,遗传算法(GA)的C语言实现
  12. 系列课程 ElasticSearch 之第 5 篇 —— Kibana 高级查询语句、DSL语言查询和过滤、中文分词器(elasticsearch.bat闪退解决办法)
  13. 电子专业必懂的焊接知识与技能!
  14. Java---利用Zing生成二维码、解析二维码
  15. steam方舟服务器直连,方舟服务器在steam上等待发布 | 手游网游页游攻略大全
  16. 代码粘贴至word后,黑色背景处理
  17. 【Camera基础(二)】摄像头驱动原理和开发V4L2子系统驱动架构
  18. 【西语】【2】Recuërdame antes de que se desaparezca la memoria del amor 在爱的记忆消失前,请记住我
  19. 英安特1600说明书_英安特AW-BM1600-8A电话线/GSM/IP三网合一报警控制主机
  20. centos7 SFTP

热门文章

  1. python获取程序运行路径
  2. python中List和Tuple的区别
  3. Neurons and the brains
  4. linux 防火墙 80端口,Linux配置防火墙,开启80端口、3306端口
  5. lottie动画_设计师和程序员的动画还原神器Lottie+Bodymovin
  6. python table_python学习之HTML-table标签
  7. Gargamel:信息安全取证工具
  8. linux windows并发模型,LINUX环境并发服务器的三种实现模型
  9. 扫描指定ip的指定端口,识别开放的端口所对应的服务
  10. php web长时间不操作退出,Ecshop管理员登陆后台后短时间不操作自动退出的解决方法...