Go语言能够取代Java,成为下一个王者吗?

链客区块链技术问答社区 · · 4053 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

链客,专为开发者而生,有问必答!

此文章来自[区块链技术社区](https://www.liankexing.com),未经允许拒绝转载。

近几年来,Go语言真是越来越火了。我也做过几个Go语言的项目了,我们公司很多微服务的项目也在由Java往Go上面转了。我们来看看Tiobe世界编程语言排行的最新排名,Go已经从去年的第14名上升到今年的第十名了。虽然Java仍然占据编程界的老大哥的地位,但是它所占的份额确实是有所下滑。还有C和C++的市场份额也是逐年下滑。

Tiobe最新编程语言排行

再来看看编程语言历年来的流行趋势,如下图(数据来自Tiobe):

编程语言流行趋势

老牌编程语言诸如Java,C,C++的流行程度逐渐下降,虽然依旧高高在上,但是已经有很多份额被Python,Go等抢走了。从图中可以看到,Go语言从2016年就开始飙升了,增长速度不可谓不快。记得16年的时候我才刚刚毕业没多久,市场上已经对Go语言表现出了异常的热情,从Go语言的程序员的工资可以看出。当时北上广基本都在14K以上招Go语言开发者,下面我找几个招聘Go语言的招聘信息大家看看,如下图所示:

Go语言招聘信息

为什么Java在逐渐被Go抢占风头呢?首先,Java能够做到的事情Go都能够做到,甚至能够做得更好。现在Java用于服务端开发的最多,而Go完全能够胜任。在Java里面有分布式,多线程,微服务,RPC等,用Go语言也完全不虚,我们公司的分布式,微服务架构就有用Go实现的,一样非常方便快捷。时下流行的趋势是大数据,人工智能,数据挖掘,机器学习等,这些用Java做起来很麻烦,都有相应的编程语言和框架,用Go自然也可以做。在这方面Java和Go的能力基本相当。

其次,用Go语言开发更迅速。用Java语言编程,一个简单的增删改查的业务你要怎么做?创建实体类JavaBean,生成Mybatis查询脚本,写Service,最后还要写Controller。整个代码加起来随随便便都有300行以上了。如果用Go语言来书写,代码层次上来看可以简洁很多。当然,用Go做MVC架构的开发大致流程和Java也没差。

再次,和臃肿庞大的Java框架相比,Go就显得非常迷你了。Go语言是一款极为简约的编程语言,他的框架也不似Java相关框架那么庞大臃肿。和它的开发效率一样,它的执行效率也是各大编程语言里面的佼佼者。它可以在一个进程中执行无数个写成,用来确保它的高效性。现在的很多微服务框架都选用Go作为开发语言,就是因为它快速并且高效。

golang

那么,Go语言真的是天衣无缝的吗?这也不尽然,这么多年来Java,C,C++地位稳固也是有它们的道理的。Java框架稳定,技术成熟。当我想要一种什么技术的时候,Java的开源框架必然会给出适合的技术解决方案,而且绝不止一种。而Go语言就没有这个优势了,毕竟作为新兴技术,它的各类开源框架还不够多。我用过一款Beego的框架,感觉还不错。

所以,小编认为,Go在短期内还是不能取代Java。以后它能不能成为最流行的语言,请大家拭目以待吧。


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:链客区块链技术问答社区

查看原文:Go语言能够取代Java,成为下一个王者吗?

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4053 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传