你的位置:首页 > 软件开发 > Java > 作为一名Java程序员,我为什么不在生产项目中转向Go

作为一名Java程序员,我为什么不在生产项目中转向Go

发布时间:2015-09-23 11:00:13
自Google在2009年发布Go语言的第一个正式版之后,这门语言就以出色的语言特性受到大家的追捧,尤其是在需要高并发的场景下,大家都会想到是不是该用Go。随后,在国内涌现出了一批以七牛为代表的使用Go作为主要语言的团队,而许世伟大神本人也在各种场合下极力推动Go在国内的发展,于 ...

作为一名Java程序员,我为什么不在生产项目中转向Go

自Google在2009年发布Go语言的第一个正式版之后,这门语言就以出色的语言特性受到大家的追捧,尤其是在需要高并发的场景下,大家都会想到是不是该用Go。随后,在国内涌现出了一批以七牛为代表的使用Go作为主要语言的团队,而许世伟大神本人也在各种场合下极力推动Go在国内的发展,于是在这种大环境下,中国的Go开发者群体逐渐超越了其他地区。

那么问题来了,业余时间好学是一回事,真正要将一个新东西运用到生产中则是另一回事。JavaScript的开发者可以义无反顾地选择Node.js,但是对于Java开发者来说,在下一个大项目里究竟是该选择Go,还是Java呢?

郑重声明:本文并不是来探讨Go或者Java谁是更好的语言,每种语言都有自己的设计哲学和适用场景,今天主要是在探讨实际工程中的选择和权衡的问题,所以请不要上纲上线。

 

语言本身

首先,需要说明一下,作为一个技术决策者,在进行技术选型时并不能单方面地根据语言本身的特点直接下结论。实际情况下,大多数人会使用一系列的框架、库及工具,简而言之就是会考虑很多周边生态环境的因素,同时还要结合公司的特点、各种历史问题和实际客观因素等等一系列的考虑点综合下来才能完成决策。所以,接下来我们先从语言开始,一步一步来分析下在你的项目中选择Go是否合适。

Go在高并发编程方面无疑是出众的,通过goroutine从语言层面支持了协程,这是Java等语言所无法比拟的,这也是大多数人在面对高并发场景选择Go的重要原因之一。虽然Java有Kilim之类的框架,但没有语言层的支持始终稍逊一筹。

除此之外,Go的其他语法也很有趣,比如多返回值,在一定程度上为开发者带来了一定的便利性。试想,为了返回两到三个值,不得不封装一个对象,或者抹去业务名称使用MapList等集合类,高级一点用ApachePairTriple,虽然可行,但始终不如Go的实现来得优雅。在此之上,Go也统一了异常的返回方式,不用再去纠结是通过抛异常还是错误码来判断是否成功,多返回值的最后一个是Error就行了。

 

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:作为一名Java程序员,我为什么不在生产项目中转向Go

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。