学习Go或提升我的Python/Ruby知识

huangapple go评论122阅读模式
英文:

Learn Go Or Improve My Python/Ruby Knowledge

问题

我正在了解Go语言,我可以看到它非常好,并且在未来几个月内可能会成为许多开发者使用的一种语言,但我想做出一个简单的决定:学习Go还是提升我的Python或Ruby知识?

使用Python开发的年数:1
使用Ruby开发的年数:0.3

英文:

I was reading about Go, and I can see that it's very good and can be a language used by many developers in some months, but I want to decide a simple thing: Learn Go or improve my Python or Ruby knowledge?

Years developing with Python: 1
Years developing with Ruby: 0.3

答案1

得分: 19

如果你只是想寻找乐趣并拓宽自己的视野,那么我建议学习Go语言,因为你已经了解一些Python。

如果你想提升自己作为开发者的能力,我个人推荐你参与一个实际项目的开发(使用Python,因为这是你最有经验的语言):

  • 这将使你的(Python和通用)编程技能达到一个全新的水平
  • 如果你选择一个有趣的项目,比如一个半受欢迎的开源项目,你甚至会有一些具体的成果可以展示你额外的工作。这将有助于你的简历,帮助你结识其他对编程感兴趣的人等等。

我个人认为,将学习新语言的时间用于编写实际可用的东西,通常是一个净胜局(当然,除非像我说的那样,你只是为了一些有趣的娱乐或放松而学习)。

英文:

If you're just looking to have fun and expand your horizons, then I'd learn Go, since you already know some Python.

If you're looking to improve as a developer, I'd personally recommend working on an actual project (using Python, as it's the language you have the most experience with):

  • This will take your (Python and general) programming skills to a whole new level
  • If you choose an interesting project, for example a semi-popular open source project, you'll even have some concrete result to show for your extra work. This will help your resume, help you meet other people interested in programming, etc.

I personally believe that spending the time you would have spent learning a new language by coding actual things you can use, is usually a net win (unless of course, like I said, you're just doing it for some fun recreation or relaxation).

答案2

得分: 9

实际上,你应该两者兼顾;如果这是你想要的话。但对我来说,从这两者中,我只会选择Python。我对那些非常新的语言没有真正的兴趣。

英文:

In reality, you should do both; if it's what you want. For me though, out of the two, I'd only look at Python. I have no real interest in languages that are so new.

答案3

得分: 8

这取决于你的目标和需求。

如果你想为了工作而提升技能,那就选择Python或Ruby。除非你在谷歌工作,否则在工作场所很难看到Go(即使在谷歌也不确定)。

如果你想玩得开心,就做你想做的。我认为最好的决策者是,选择一个你想要开展的项目,然后选择最适合该项目的语言。

其他需要考虑的事项:

  • 每种语言适用于特定的任务。Go编译成机器代码,而Python和Ruby在解释器中运行。Go适用于较低级别的工作。它也适用于并发任务。较高级别的任务可能更适合Python或Ruby。

  • Go是一种实验性语言,可能会发生变化。这些变化可能是不兼容的。如果你现在学习它,在6个月或一年后,你可能需要重新学习其中的一些内容,因为它已经改变了。尽管如此,成为前沿技术的一部分可能会很有趣。如果它碰巧成为“下一个大事”,你就是从一开始就参与其中的。

英文:

It depends on what your goals and your needs are.

If you're looking to develop your skills for a job, then go with Python or Ruby. You're unlikely to see Go show up in the workplace for quite some time (if ever) unless you're working at Google. (Even then it's questionable.)

If you want to have fun, do what you want. I think the best decider is, pick a project you want to work on and then choose the language that is best suited for that project.

Other things to consider:

  • Each language is suited to certain tasks. Go is compiled into machine code, whereas Python and Ruby run in interpreters. Go lends itself to somewhat lower level work. It's also good for concurrent tasks. Higher level tasks might be more suited for Python or Ruby.

  • Go is an experimental language that's likely to experience changes. These changes may be backward incompatible. If you learn it now, in 6 months or a year you may have to re-learn some of it because it's changed. That said, it can be fun to be a part of something that's on the bleeding edge. And if it does happen to become "the next big thing," you're in on the ground level.

答案4

得分: 3

你使用Python已经有多长时间了?

如果是我,我会尽力去学习一些Go的基本语法,对其独特的语言特性有一些了解,并继续使用Python。

最终,你可能会找到一个适合使用Go的小项目(或者你现在就可以想一个!),然后深入学习这门语言。

没有理由只限制自己学习一门语言。 学习Go或提升我的Python/Ruby知识

英文:

How long have you been working with Python?

If it were me, I'd do my best to maybe get a working knowledge of Go (basic syntax, some familiarity with unique language features), and continue with Python as I normally would.

Eventually you might come up with a small project that Go seems suited for (or you can come up with one now!) and really dive into the language that way.

There's no reason to limit yourself to just one. 学习Go或提升我的Python/Ruby知识

答案5

得分: 2

这取决于你。如果可能的话,你应该两者都做,因为这样你在象征性的程序员工具中会有更多的选择。

每当我面临类似的困境时,我认为有几件事情值得考虑。

一个新的语言(不仅仅是不熟悉,而是全新的,比如Go)是否有可能流行起来?(如果是这样,学习它将变得几乎是必要的,而不仅仅是一个好主意。)

你需要花一些时间来学习这个不熟悉的语言。这个时间投资是否会带来一些积极的回报?显而易见的一个回报是开发时间(也就是说,你最终能完成更多的工作并回收你花在学习上的时间),但如果这种语言在其他方面更优越(运行更快或者占用更少的内存,在你特定的问题领域中最好),这些也可能起到作用。

学习这种不熟悉的语言是否能让你解决一个相关/重要/紧急的问题,而你现有的知识无法解决?

不幸的是,我们无法告诉你如何权衡这些问题。你需要仔细思考,并自己得出答案。

英文:

It's up to you. You should probably do both if you can, because that way you will have more tools on your metaphorical programmer's belt.

There are a number of things that I think are worth considering whenever I'm in a similar dilemma.

Is a new language (not just unfamiliar, but actually new, like Go) likely to catch on? (If so, it will become practically NECESSARY to learn it, rather than just a good idea.)

You will need to spend some time to learn the unfamiliar language. Will this time investment result in some sort of positive return? The obvious one here is development time (i.e., can you eventually get more done and get back the time you spent to learn it), but if the language is superior in other ways (runs faster or with less memory, is best for your particular problem domain) those might factor in too.

Will learning the unfamiliar language allow you to solve a relevant/important/urgent problem that cannot be solved with what you already know?

Unfortunately, none of us can tell you how to weigh each of these concerns. You'll need to think about it really carefully and come to the answer on your own.

答案6

得分: 2

首先,这是一个非常非常个人的问题,我的第一个建议是,如果你这样认为的话,试着学习Go语言一个月左右,掌握基础知识,然后再做决定...每个人的思维更适合某些特定的语言而不是其他语言...

我还建议继续使用Python和Ruby,如果你有兴趣的话,你已经有足够的经验来舒适地使用它们(我认为),所以下个月你可以通过使用它们来获得更多的经验...

从严格实用的角度来看,深入学习Go可能是一个冒险的举动,但如果开始使用并且你是少数几个在大家刚开始学习语法时有一些经验的人之一,那么这将是值得的...

英文:

First of all, it's a very very personal question, and my first recommendation will be , if you think so, try Go for one month or so, learning the basics, and then deciding... Each one has the mind fitted more to some particular languages than another...

I also would recommend keep using both Python and Ruby, if you're interested, you have enough experience to use them comfortably (I think), so the next months you could experience a great boost in your experience using them...

For an strict utilitarian point of view, learning Go extensively could be a risk move, but worthy if begins to being using and you're one of the very few people with some experience when everyone are just beginning to learn the syntax...

答案7

得分: 1

这两种语言实现了不同的目标。Go语言只比C语言慢20%。如果你想要疯狂的速度和简单的并行性,那就学习Go语言。然而,可读性不是设计目标。此外,它没有异常处理。尽管如此,它可以用于实时产品...

英文:

These two languages accomplish different goals. Go is only 20% slower than C. If you want crazy speed and easy parallelism, then learn Go. However, readability was not a design goal. Also, it has no exceptions. It can be used for real-time products though ...

答案8

得分: 1

我认为你应该提升你的Python知识。Python是一种被广泛采用的语言,而Go仍处于非常早期的阶段,没有理由相信它会取得成功。

从纯粹实用的角度来看,学习Python会带给你更多的价值。

英文:

IMO you should improve your Python knowledge. Python is a widely adopted language, whereas
Go is still at a very, very early stage and there's no reason to believe that it will become successful.

From a purely utilitarian perspective, you will get a lot more value from learning Python.

答案9

得分: 1

不了解你的Python水平、你从事的工作以及你打算在哪里使用Go,很难回答这个问题。如果你正在寻找就业机会,我认为Python是一个不错的选择。我会很惊讶地发现目前有人在主要项目中使用Go(除了Google之外)。

还要注意的是,Go并不是最终版本。请参阅这里了解Go的路线图,并注意未来可能的变化。所以你可能正在追逐一个不断变化的目标。

英文:

It's not easy to answer this without knowing how good your Python is, or what you do, or where you'd use Go. If you're looking for employment, I suspect Python is the way to go. I'd be surprised to find anyone is using Go for major projects at the moment (outside Google).

Note also that Go is by no means finalised. See here for the Go roadmap, and note the potential changes in the future. So you may be trying to hit a moving target currently.

答案10

得分: 1

Python是适用于大多数操作系统的,它通常被认为是一种脚本语言,并且已经发展成为生产质量的语言。

Go是一种研究语言,只在Linux和OS X上以测试质量提供。其他地方没有。从智力角度来看,它很有趣,因为你可以学习和应用一些概念(类型化通道与简单的多任务处理),这些概念在其他情况下很难使用。

至于Go,你可能首先要看一下AT&T的“Plan 9”操作系统。它带有一种名为“Aleph”的编程语言,也是基于C的,具有通道和多任务处理。在我看来,Go是对更主流操作系统上的Aleph的重新实现。

英文:

Python is a available for most operating systems, it's generally accepted as a scriptin language, and it has matured to production quality.

Go is a research language that's only available in beta quality on Linux and OS X. Nowhere else. It's interesting from an intellectual point of view in that you can learn and apply a few concepts (typed channels combined with easy multitasking) that are otherwise difficult to use.

As for Go, you might perhaps take a look at AT&T's "Plan 9" operating system first. It comes with a programming language called "Aleph" with also is C-based, has channels and multitasking. Looks to me like Go is a reimplementation of Aleph on more main-stream operating systems.

huangapple
  • 本文由 发表于 2010年1月6日 05:24:56
  • 转载请务必保留本文链接:https://go.coder-hub.com/2009194.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定