Question: 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

Answer: 
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.
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](http://go.googlecode.com/hg/doc/devel/roadmap.html) for the Go roadmap, and note the potential changes in the future. So you may be trying to hit a moving target currently.