"I was asked a few weeks ago, "What was the biggest surprise you encountered rolling out Go?" I knew the answer instantly: Although we expected C++ programmers to see Go as an alternative, instead most Go programmers come from languages like Python and Ruby. Very few come from C++."
- Rob Pike (http://commandcenter.blogspot.com/2012/06/less-is-exponentia...)
Strangely, I think almost the opposite - I think it'll take a lot of "scripting language" tasks, but not much of the system programmers jobs.
Coming from a scripting language background, Go feels like a step forward in performance, without many of the headaches of C++ or Java.
But speaking to people who write C++ for a living, they see little or no use for go for them, as they need either the performance or flexibility of a lower level language like C++ - that's why they haven't moved to an alternative a long time ago.
Be sure to do the same jobs you would do in Python, keep track of how long it takes, and measure the difference - otherwise you are optimizing prematurely with snake oil.
I'm pretty sure doing the same job twice and measuring the time taken each time is a guarantee that whatever you do, it'll take twice as long and bore you to death...
I think Go will be well suited for web applications:
1. Google App Engine will continue to play a major role in Go's development.
2. The speed of development in Go is equal to or exceeds that of other dynamic languages. Static typing takes minimal extra time and immediately pays off by catching silly errors, then continues to ease development (and documentation) in the future.
3. Go's standard library already contains powerful tools to develop web apps.
It's important to remember that Go is still very young. Could you explain why you still prefer Python over Go?
Go offers nothing for C programmers, and Java/C++ programmers are largely using languages by corporate decree, not choice. Go's main audience is in fact people who are still clinging to dynamically typed languages. Where modern languages like haskell or scala are too scary for them, go is familiar enough to draw them in, and show them that static typing doesn't mean java.
'clinging to dynamically typed languages' and 'too scary' implies that the only people using such languages are incompetent beginners. That is posturing more than it is an honest description of reality. Same applies to your description of Go as nothing more than a bridge to Scala.
Are you so sure that everyone using languages other than Scala and Haskell is that much dumber than you are?
It took a while for C++ and then for Java to become languages of corporate decree. If Go will ever become one of those languages, it will take around the same amount of time.
As someone who only used C for systems work for 15 years, and for the last two years switched exclusively to Go (except in the kernel) I disagree. Go offers everything I want as a C programmer.
I didn't mean to suggest that absolutely zero C programmers would adopt go, merely that go does not address the needs C does, so most people using C won't have the option of using go instead. Obviously if you were using C for things that didn't need C to begin with, then go becomes an option.
Not in the web world. Go will take programmers from the C/Java camp, but not many from the ruby/python camp.
Not even one in a hundred startups will use Go as their main programming language. Ask PG to confirm.
I am an early golang user and once in a while play with it to try new stuff, but still coding everything else in python.
To answer the question: Yes for systems work, No for web work.