我应该去吗? 使用Go编程语言的利弊

对于大多数人来说, 谷歌推出自己的编程语言应该不足为奇。 该公司一直在积极进军几乎可以想象到的每个技术领域,而且他们往往要彻底改变他们想要发展的领域。 自Go进入生产以来已经有十多年了,尽管它可能还没有像Python和JavaScript这样的语言的安装基础,但是Google的专有语言可以提供很多东西。 在决定选择该语言之前,这里是您需要考虑的所有内容。

优点:易于使用

尽管Go可能不如JavaScript或Python流行,但它们确实有一个重要的共同点:它非常易于理解。 语法很干净,新手也可以使用,并且没有很多复杂的函数需要学习。 但是,这种简洁明了的语法不仅为新手提供了更多优势。 那是因为它也是一种易于阅读的语言,并且使其成为可能涉及多个编码器在彼此的代码块之间迭代的遗留代码的绝佳选择。 与C风格的语言非常相似,这意味着它将成为精通C ++或C#的程序员学习的一种简单语言。

缺点:有时过于简单

Go的主要优势之一也是其最大的弱点之一。 Go可能是一门易于学习的语言,但是缺乏通用性。 市场上一些最热门的语言以其复杂性而自豪。 Swift和Haskell之类的选择可能更难于学习,但他们设法通过打包大量智能抽象来找到自己的粉丝,这些抽象使编码人员可以用更少的钱获得复杂而又聪明的结果。 通过剥离此高级功能,Go还会牺牲范围。

专业版:智能标准库

Go用户可以完成很多工作,而无需导入或学习复杂的辅助库。 Go附带的标准库非常复杂,不会让人感到不知所措,它减少了因函数名称冲突而产生错误的风险。 以切片为例。 它是Go编程领域最聪明的功能之一,它们为将数据结构合并到代码块中提供了更简单的方法。 通过Go界面,只需一行代码即可完成许多其他语言要求的变通办法的任务。

缺点:它仍然是一种年轻的语言

Go充满了希望,但它仍处于青春期,这意味着它在许多方面都无法与其年长的同级竞争。 Go的本机库可能设计巧妙且高效,但它与Java之类的语言竞争,而Java则由内置的大量代码集和热情的社区共同创建的新图书馆的手工业所支持。 尽管Go最终可能会赶上其同行,但在库支持方面还有很长的路要走。

优点:内置强大的安全性

通常,简单代码比复杂代码更安全 ,而Go绝对是这样。 作为一种静态类型的语言,您不必担心由于动态语言中存在大量的变量类型而导致的复杂且难以识别的错误。 然后是附带的垃圾收集器,可帮助防止内存泄漏在代码中。 虽然缺少泛型意味着编码人员在运行测试时需要更加勤奋,但是比起许多替代方案,识别错误要容易得多,并且通常可以提倡一种更彻底的方法来编写干净的代码。

缺点:缺少虚拟机

虽然不选择在虚拟机上使用Go的决定是明智的选择,并且它具有一些易于使用的独特优势,但在这里,坏处可能会大于好处。 造成这种情况的原因是,当今有许多流行语言都基于VM。 VM提供了更有效的代码,这意味着Go文件的大小通常比其他竞争性编程语言小。 尽管Google在过去几年中一直在逐渐提高该语言的效率,但是您仍然可以期望使用Go编写的更复杂的程序可以快速地访问您的RAM。

专业人士:Google在业界的地位

Google不太可能很快就去任何地方。 他们不太可能在不久的将来在一般搜索引擎领域找到挑战者,并且他们设法以某种方式将微软作为办公室中使用的程序的主要标尺,将其推向高潮。 尽管Google常常对他们雄心勃勃的大型产品不满意(请参阅Google Glass或广泛的社交媒体平台的墓地),但看起来他们不会很快放弃Go。 您可以肯定的是,Go将在相当长的一段时间内在Google的体系结构中扮演重要角色。

缺点:它还没有找到自己的利基市场

Go是Google设计的,可以完成Google程序员需要更高效地完成的某些特定任务。 如果您在Google工作,这使Go编程成为一种非凡的技能,但它仍然没有设法在更大的世界中找到自己的名字。 JavaScript在复杂的前端编程中已成为必不可少的语言,而Python在数据可视化和分析领域中已找到一席之地,而Go尚未为它在更广泛的编程生态系统中的地位提出充分的论据。 另外,其他公司会犹豫是否要购买实质上由竞争对手拥有的语言,事实上,很明显Go可能仍将主要是Google工程师使用的Google语言。

Pro:智能文档

尽管Go是一种非常易于编写和阅读的语言,但是这并不能消除对程序进行文档化的需要。 制定了记录所有包含的功能和库的标准政策,并且当您忘记放置文档时,Google的语言甚至会警告您。 对于年轻的程序员而言,这是一笔特别宝贵的财富,他们倾向于早日陷入草率的文档习惯。

缺点:没有GUI库

Go是单页应用程序的绝佳选择。 不过, Go没有GUI库 ,这意味着需要大量时间和知识才能将库连接到应用程序,而不是使用本机解决方案(如Python或Java)。

没有一种全方位的完美编程语言。 最好的语言可以做的就是希望比周围的所有其他语言做得更好。 对于Go来说,最明显的优势是显而易见的。 它易于使用,再加上在Google中的广泛采用,使其成为一种很有前途的年轻语言。 但这并不一定适合每个项目或每个程序员。 在将其用作学习或尝试将其纳入组织的基础结构中的新语言之前,请仔细考虑其优点和缺点。

From: https://hackernoon.com/should-i-go-the-pros-and-cons-of-using-go-programming-language-8c1daf711e46

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值