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