繁琐冗长_“ Go比Java冗长得多”

繁琐冗长

Go的采用并不总是那么强劲,但是在将其纳入包括Docker在内的备受瞩目的项目之后,情况发生了变化。 Go已被《纽约时报》和BBC Worldwide使用,但Booking.com,Dropbox,SoundCloud等也已使用Go,并且这种趋势还在持续。 根据解决方案架构师和已发表的作者Shiju Varghese的博客文章 ,如果继续发展,Go的采用将成为企业中的下一个Java。

我们与Splice的联合创始人兼CTO Matt Aimonetti进行了交谈,讨论了Go的好处,Go社区及其改进该编程语言所能采取的措施。

JAXenter:嗨,马特! 在您的Medium帖子中,您提到Go适合每个人。 你是什​​么意思?

马特·艾蒙内蒂(Matt Aimonetti): Go是一门新兴的热门语言,它的采用正在飞速发展。 但是,我开始注意到有人认为该语言是高级语言,因此不适合新手程序员。 新程序员被告知,他们应该首先学习一种“更轻松”的语言,然后再使用Go语言。 在我的文章中,我认为新开发人员可能实际上想从Go开始。 我还想确保社区之外的开发人员不会将Go社区视为只保留给大公司的顶尖计算机科学家和工程师使用的精英社区。 最后,我鼓励社区为新程序员创建更多文档,文章和书籍。

JAXenter:您为什么押注Go?

Matt Aimonetti:三年前我创办初创公司Splice时,我知道我们需要扎实的代码基础。 我不得不处理糟糕的早期启动代码很多次,以至于我希望公司在开始获得良好的吸引力时不得不处理大量的技术债务。 在评估Clojure,Scala和Go时,并发性和高性能至关重要,因此Ruby,Python和JavaScript淘汰了。 我专业地写过一些Clojure,但我知道它并不适合我(虽然我喜欢函数式编程的概念,但我似乎无法以允许我稍后重新读取/跟踪代码的方式来构造代码) 。 Scala非常吸引人,但是由于缺乏清晰的样式指导,缓慢的编译以及以这种灵活的语言组建一支团队似乎具有挑战性的事实,我选择退出。 Go可以使您的思维更加简单,编译非常快,部署非常简单,已经在非常大型的团队中进行了测试,并且社区非常支持(以及组织良好并且充满了经验丰富/聪明的人)。 我决定下注Go,因为这在当时似乎是最好的选择。 我很高兴自己做到了。

Go给您的目的更少。

JAXenter:有些人认为Go太复杂了。 您对此有何看法?

马特·艾莫内蒂(Matt Aimonetti):我认为“复杂”一词已超载。 作为一种主流编程语言,Go可能是最简单的编程语言之一,语言规范很短,并且功能清单有限(有意使用)。 就是说,它确实包含了一些概念,例如您没有像JavaScript这样的语言所拥有的指针,通道和接口。 我向新程序员教授Go的经验是,指针不是问题。 因为Go不支持指针算术,所以只要他们了解按值传递与按引用传递之间的区别,他们就可以理解指针。 通道用于并发,启动时可以大大避免使用。 最后,接口不是很复杂,但是要花一些时间才能掌握。 但是,我确实同意您需要学习一些基本的编程概念,而Go的第一行可能会比浏览器中的JS第一行花费更多的时间。 不同之处在于,您在旅途中发现JS或Ruby的复杂性/局限性时会遇到意外。 Go仅有一些惊喜,一旦您获得了惊喜,一切都不会阻止您。 它为您带来的魔力更少,但这也意味着更高的可读性和更少的意外/错误。

Go不是灵丹妙药,它可能不适合您或您的项目。

JAXenter:Go可以帮助开发人员探索其他编程语言吗?

Matt Aimonetti:我坚信Go是入门和扎实基础的好方法。 这个基础将帮助您学习其他语言,例如Java,C#,Ruby,Rust ...

Go使用推断的类型,这意味着它比Java少一些冗长,但仍然可以教您类型如何工作以及它们为何有用。 同时,Go支持鸭子输入,面向对象和功能编程。 但是Go没有像Ruby这样的解释器,它不允许进行猴子补丁,并且在代码样式方面比Ruby更自以为是。 尽管Go支持面向对象的编程,但它不支持继承。 这很棒,因为一旦Gopher开始探索Java或C#,他们就可以学习更丰富的OO方法并更好地了解优点/缺点。 另一件事是,Go没有泛型(Go社区中一个非常热烈的话题),因此一旦您习惯了在没有泛型的情况下进行编码并且切换到支持它们的新语言,您将拥有良好的基础并且可以专注于这项新功能。 换句话说,Go减少了您的学习目的,因此您学习Go编码的一切都与学习另一种语言时获得的额外功能密切相关。

JAXenter:开发人员为什么要尝试Go?

马特·艾莫内蒂(Matt Aimonetti):哈哈,现在,我觉得您是要我向您的读者出售Go。 Go不是灵丹妙药,它可能不适合您或您的项目。 但是我认为开发人员应该很好奇,并尽可能尝试新的语言。 现有的开发人员可能对更简单的编码方法感兴趣,或者他们希望本机并发支持,更好的性能和较低的内存使用率。 Go尝试回答以下问题:“您能用更少的钱做更多的事情吗?” 而且似乎运作良好。 如果您好奇并想了解Go语言,我强烈建议您尝试一下官方的Go Tour,它是免费的,在线的,可让您领略该语言。

非常感谢你!

翻译自: https://jaxenter.com/go-way-less-verbose-than-java-interview-127999.html

繁琐冗长

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值