A few years back, Google showcased a brand new programing language some of its engineers were working on, Go. The language was already being used internally, though it was being labeled as experimental.Now though, it sheds the label with the release of Go 1, the stable version of the language and accompanying tools.
Go 1 is more than just a stable release, it's a de facto standard, developers can be sure that what works in Go 1 will work in any future versions for at least several years.
Go 1 does introduce some new things and changes others compared to previous versions, so some older programs may need to be adapted, but Google thought it necessary to make sure it could include all the things it wanted to and hold back to maintain backwards-compatibility so far.
"We're announcing Go version 1, or Go 1 for short, which defines a language and a set of core libraries to provide a stable foundation for creating reliable products, projects, and publications," Google's Andrew Gerrand wrote.
Initial work on Go was started in 2007, but the language was only made public in 2009. Since then, a core set of Google developers but also outside contributors have been building the default libraries, the compilers and so on.
Go takes most of its cues from C, but has a cleaner syntax and borrows some key elements from other languages. C developers won't have a hard time understanding and adapting to Go, though.
Go was designed for system programs mostly and for concurrency. As such it's particularly suited for clusters and cloud environments, which is what Google designed it for in the first place.
It's not a coincidence then that the Go language is supported by the Google App Engine and that, along with Go 1, Google also released a Google App Engine SDK for the Go runtime, based on the Go 1 version.
There are binary tools, the gc compiler, for Linux and FreeBSD, Mac OS X and, with the Go 1 release, also for Windows.