Go is the most exciting new mainstream language to appear in at least 15 years
I'm not sure Go even counts as a mainstream language, as I see no evidence of significant penetration in the industry. It has a couple of interesting features (goroutines might be an example), but it's missing other useful features that numerous modern languages provide (generics probably the most obvious example), it has a not-quite-C syntax that seems to be different but without really improving very much, its GC strategy doesn't seem to fit with positioning it as a systems programming language, it has limited facilities for robust error handling... I'm not sure many people would even have noticed it if Google hadn't been behind it.
What is "significant penetration" from your perspective? It is very young (as a 1.0, not even 2 years old). What language would you compare it to, and where was that language at 2 years old?
What was Java adoption in 1998? What was Scala adoption in 2006? What was Python adoption in 1996.
Unless the trend lines shift, Go is a IMHO something of a phenomenon. It seems to hit a lot of sweet spots in deployment, tooling and simplicity that is making a lot of groups happy. It is already being used to build tools people depend on (docker [just raised 15M], packer, nsq, juju, heka, coreOS), it is fast (http://www.techempower.com/benchmarks/) ... additionally, it seems to have decent penetration on both ends of the spectrum, large enterprises and tiny start-ups are choosing it (http://code.google.com/p/go-wiki/wiki/GoUsers), DevOps and Software Engineers are living together in rare harmony due to painless deploys and handoffs.
What is "significant penetration" from your perspective?
I don't know exactly how I'd quantify it, but seeing evidence that a broad range of substantial projects are using it in production and/or a substantial proportion of practising software developers were at least aware of its existence would be a good start.
What language would you compare it to, and where was that language at 2 years old? What was Java adoption in 1998? What was Scala adoption in 2006? What was Python adoption in 1996.
Hardly anyone uses languages that immature for real work. None of the languages you mentioned could reasonably have been called mainstream at the times you mentioned. Scala still can't today.
That's an impressive list for a language so young, but when you start reading the supporting links, it turns out that quite a few of the "Go users" are minor supporting projects. For example, the gov.uk project is vast, but it appears Go was only used to write a routing tool; the main sub-sites are written using languages like Ruby and Python. Another popular project I noticed is GitHub, but it turns out that the cited blog post is about "a really simple, low traffic service to dip our toes in the Go waters."
There's nothing wrong with these early experiments, of course, but if you want to claim mainstream status, get back to me when all of a site like GitHub or gov.uk is written in Go, or when the big G themselves are using it for something like the back-end of Google Mail or Google Search rather than the Santa Tracker.
If you want to use GitHub as a barometer of language popularity
Well, I don't think GitHub is a particularly useful barometer, but OK...
Go is tracking darn close to Scala, despite being 8 years younger.
Enough said.
Sorry if this post comes across as a bit snooty, but it's hard to reply entirely seriously when almost everything I'm replying to is making my point for me. I have absolutely nothing against putting new languages out there or even just new language features that might be interesting to explore. But the idea that a language that is mostly an incremental development of what we already have in abundance and that is barely out of prototype stage will somehow take over the world for the next decade is just silly, and it's still silly even if the language happens to be promoted by Google.
Well said. Java in 1998 was already overwhelming although there were lot of debating. The entire system of Java is so solid, especially in handling multi-threading. Coding is not that simplified, but very robust. Comparatively, using GO and raft protocol in the CTF 3.0 sounds weak and problematic.
Most of the attention Go has been getting so far has been due having the Google name associated with it. If it had been $RANDOM_LANGUAGE from Google that would also have receive a bit of attention.
I'm not sure Go even counts as a mainstream language, as I see no evidence of significant penetration in the industry. It has a couple of interesting features (goroutines might be an example), but it's missing other useful features that numerous modern languages provide (generics probably the most obvious example), it has a not-quite-C syntax that seems to be different but without really improving very much, its GC strategy doesn't seem to fit with positioning it as a systems programming language, it has limited facilities for robust error handling... I'm not sure many people would even have noticed it if Google hadn't been behind it.