我正在阅读有关 Go 的信息,我可以看到它非常好,并且可以在几个月内成为许多开发人员使用的语言,但我想决定一件简单的事情:学习 Go 还是提高我的 Python 或 Ruby 知识?
使用 Python 开发的
年数:1 使用 Ruby 开发的年数:0.3
如果您只是想找点乐子并扩大视野,那么我会学习 Go,因为您已经了解了一些 Python。
如果您希望作为开发人员提高自己的水平,我个人建议您从事一个实际项目(使用 Python,因为它是您最有经验的语言):
我个人认为,花时间通过编写可以使用的实际东西来学习一门新语言通常是一种净赢(当然,除非像我说的那样,你只是为了一些有趣的娱乐或放松而这样做) .
实际上,您应该两者都做;如果这是你想要的。不过对我来说,在这两者中,我只会看 Python。我对这么新的语言没有真正的兴趣。
这取决于您的目标和需求。
如果您正在寻求发展自己的工作技能,那么请使用 Python 或 Ruby。除非您在 Google 工作,否则您不太可能在很长一段时间内(如果有的话)看到 Go 出现在工作场所。(即使这样也是有问题的。)
如果你想玩得开心,就做你想做的事。我认为最好的决定是,选择一个你想从事的项目,然后选择最适合该项目的语言。
其他需要考虑的事项:
每种语言都适合特定的任务。Go 被编译成机器代码,而 Python 和 Ruby 在解释器中运行。Go 适合于一些较低级别的工作。它也适用于并发任务。更高级别的任务可能更适合 Python 或 Ruby。
Go 是一种可能会经历变化的实验性语言。这些更改可能向后不兼容。如果你现在学习它,在 6 个月或一年后你可能不得不重新学习其中的一些,因为它已经改变了。也就是说,成为前沿事物的一部分可能很有趣。如果它确实成为“下一件大事”,那么你就在底层。
你用 Python 工作多久了?
如果是我,我会尽我最大的努力获得 Go 的工作知识(基本语法,熟悉独特的语言特性),然后像往常一样继续使用 Python。
最终,你可能会想出一个看起来适合 Go 的小项目(或者你现在可以想出一个!),并以这种方式真正深入研究这门语言。
没有理由将自己局限于一个。:)
由你决定。如果可以的话,你可能应该两者都做,因为这样你的隐喻程序员的腰带上就会有更多的工具。
每当我处于类似的困境中时,我认为有很多事情值得考虑。
一种新的语言(不仅是陌生的,而且实际上是新的,比如 Go)可能会流行起来吗?(如果是这样,学习它实际上将变得很有必要,而不仅仅是一个好主意。)
你需要花一些时间来学习不熟悉的语言。这次投资会带来某种正回报吗?这里显而易见的是开发时间(即,您最终能否完成更多工作并收回您花在学习上的时间),但如果该语言在其他方面更出色(运行速度更快或内存更少,则最适合您的特定需求)问题域)这些也可能会影响。
学习不熟悉的语言是否能让你解决一个相关/重要/紧迫的问题,而这些问题不能用你已经知道的知识来解决?
不幸的是,我们没有人能告诉你如何权衡这些问题。您需要仔细考虑并自己得出答案。
首先,这是一个非常私人的问题,我的第一个建议是,如果你这么认为,请尝试 Go 一个月左右,学习基础知识,然后决定......特定的语言比另一种...
我还建议继续使用 Python 和 Ruby,如果你有兴趣,你有足够的经验可以舒适地使用它们(我认为),所以接下来的几个月你可以体验到使用它们的巨大提升......
从严格的功利主义观点来看,广泛学习 Go 可能是一个冒险的举动,但如果开始使用 Go 并且您是少数几个在每个人都刚刚开始学习语法时有一定经验的人之一......
这两种语言实现不同的目标。Go 只比 C 慢 20%。如果你想要疯狂的速度和简单的并行性,那就学习 Go。然而,可读性并不是设计目标。此外,它没有例外。虽然它可以用于实时产品...
IMO 你应该提高你的 Python 知识。Python 是一种被广泛采用的语言,而 Go 仍处于非常非常早期的阶段,没有理由相信它会成功。
从纯粹实用的角度来看,你会从学习 Python 中获得更多的价值。
如果不知道你的 Python 有多好,或者你做了什么,或者你会在哪里使用 Go,就很难回答这个问题。如果您正在寻找工作,我怀疑 Python 是您的最佳选择。我会惊讶地发现目前有人在使用 Go 进行重大项目(在 Google 之外)。
另请注意,Go 绝不是最终确定的。请参阅此处了解 Go 路线图,并注意未来的潜在变化。因此,您当前可能正在尝试击中移动目标。
Python 可用于大多数操作系统,它被普遍接受为脚本语言,并且已经成熟到生产质量。
Go 是一种研究语言,仅在 Linux 和 OS X 上以 beta 质量提供。其他任何地方都没有。从知识的角度来看,这很有趣,因为您可以学习和应用一些原本难以使用的概念(类型化通道与简单的多任务处理相结合)。
至于 Go,你或许可以先看看 AT&T 的“Plan 9”操作系统。它带有一种名为“Aleph”的编程语言,它也是基于 C 的,具有通道和多任务处理功能。在我看来,Go 是 Aleph 在更多主流操作系统上的重新实现。