Born out of frustration with existing languages and environments for systems programming, Go has been in development since 2007 and was officially announced in late 2009. We’ve known that the language has been in use internally by Google, and now with version 1.0 and the release of a new app engine SDK, Go is starting to show real potential.
From Google’s announcement, version 1.0 defines a language and a set of core libraries to provide a stable foundation for creating reliable products, projects, and publications. Go 1 is the first release that is available in supported binary distributions. They are available for Linux, FreeBSD, Mac OS X and even Windows.
Google, on the reasons behind Version 1:
The driving motivation for Go 1 is stability for its users. People who write Go 1 programs can be confident that those programs will continue to compile and run without change, in many environments, on a time scale of years. Similarly, authors who write books about Go 1 can be sure that their examples and explanations will be helpful to readers today and into the future.
Forward compatibility is part of stability. Code that compiles in Go 1 should, with few exceptions, continue to compile and run throughout the lifetime of that version, even as we issue updates and bug fixes such as Go version 1.1, 1.2, and so on. The Go 1 compatibility document explains the compatibility guidelines in more detail.
If you have any questions about Google’s initiative, check out the official Go FAQ. The project still has “experimental status” right now, but as far as we can tell it’s made huge improvements in terms of stability. Overall, it’s a big undertaking that may pay off, as there hasn’t been a new major systems language in over a decade.
Visit our full Design and Dev channel for more inspiration.