为什么开发人员从Java转到Go

使用Java来开发企业级的应用可能是一个不错的选择,但是使用Google的Go语言来开发系统软件会更有优势,一名来自PivotalJava开发者如是说,目前他已经成为Go语言的支持者。

Pivotal的一个使用Go语言开发其Cloud Foundry 云平台的工程师Matt Stine说:Go语言在包、模块化和并发方面有很大优势,如果你尝试解决的问题是Go语言所擅长的领域,如大型、高性能服务器端程序,我可以说Go非常适合这样的场景。”

Stine认为Go是一个“相当无聊”的语言,而不是一个神奇的、现代的、功能丰富的语言,但是尽管如此,“你仍然可以使用它开发出一些令人兴奋的东西”。他认为Go是一个构建系统级软件的工具。开发者可以使用Go语言标准库来构建系统级软件,而不像其他语言一样需要第三方框架。

Stine提到,在处理并发时,Golang有内建的功能,这与Java不同,Java的并发的工具类是通过类库支持的。Stine说:“我认为Go语言本身的语法结构就非常适合处理并发。”另外,Go支持多返回值。

Go也提供了闭包和Map,Map可以将一种类型的值(Key)与其他类型的值关联起来,他们都是Go的内建数据结构。Stine还称赞了Go的slice。通过slice,被包装后的数组可以方便地为序列的数据提供接口。在Go中,很多与数组相关的编程都通过slice来实现。

在Go语言中,半自动资源管理是通过defer关键字来提供的。“取代创建资源、使用资源、然后在下面关闭资源的是,我可以马上告诉它,‘在该函数其余功能执行完后再执行这个函数’”,stine说。

Stine强调,Go语言在面对包和模块化的时候比Java更有优势,原因是在Go语言中它们比Java简单得多。“在Go里面,所有类型和函数必须属于一个包,但是每一个源文件必须申明它所属的包。”

Java,由Sun Microsystems公司在1995年推出,在语言流行排行榜(包括Tiobe,PyPL和RedMonk编程语言排行榜)中得分最高或者接近最高。Go语言,在RedMonk排行中正在上升,在6月的排行中来到第21位。在7月的Tiobe排行中,Go被排在30位。
阅读全文请点击: http://click.aliyun.com/m/22044/

全部评论

相关推荐

字节 飞书绩效团队 (n+2) * 15 + 1k * 12 + 1w
点赞 评论 收藏
分享
一颗宏心:华为HR晚上过了十二点后还给我法消息。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务