导读 | 世上语言千千万,我却独爱这一种!”这句话用来形容程序员和编程语言之间的爱恨情仇实在是再精准不过了。根据GitHub 2016年的开源报告,其上所有开源项目共包含了316种编程语言,这是一个什么概念呢?举个例子来说,世界上共有226个国家和地区,也就是说编程语言的数量比国家数量还多。 |
想要全部精通这些语言显然是个不可能事件,所以编程语言的选择就有了先后之分。编程语言的好坏之争娱乐性高于知识性,所以本文不以好坏论高下,而是以热度作为参考条件,盘点2017年哪些编程语言最受欢迎。
上图是今年话题度比较高的编程语言在Google Trends上的热度情况,我们从中选取Java、Python、R 、Go以及Kotlin语言来进行分析。
小浣熊干脆面有一句广告词深入人心“一直被模仿,从未被超越!”如果套用在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。
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语言在TIOBE排行榜中一直都在十几的位置徘徊,但是在IEEE 发布 2017 年编程语言排行榜中却位居第六。这说明R语言在编程语言中扮演的角色是“隐形富豪”,很多人对于R语言的力量一无所知。
在上文中,我们也提到了R语言在数据科学中非常流行,那么R语言可以支持哪些量级的数据集呢?talkR会议上R语言熟手表示百万条记录的数据集可以轻松地用标准R进行处理;百万到十亿条记录的数据集稍微努力一下也可以使用R来处理;十亿条以上的数据集就需要MapReduce算法,而这些算法可以在R中设计,并用Hadoop等连接器进行处理。
当然R语言的力量也不仅止于此,大数据的爆红催生了物联网的发展,很多项目都依赖多个数据源,而R语言恰好支持多数据源加载数据;R语言的学习曲线平缓,只需了解基本编码原则就可以通过内置库来处理大数据;R语言与其他主流的编程语言兼容;就连托管公司也为R语言提供了解决方案。
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一定榜上有名。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,它的简单性、精益语法、函数式方法都是其流行度的加码元素。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/106189.html