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

使用 Java 来开发企业级的应用可能是一个不错的选择,但是使用 Google 的 Go 语言来开发系统软件会更有优势,一名来自 Pivotal Java 开发者如是说,目前他已经成为 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位。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。