After nearly two years of development, testing and experimentation in a variety of uses, Google has introduced version 1.0 of its Go programming language.
Google has released version 1.0 of its
Go programming language.
Google
initially introduced Go as an "experimental
language" in 2009 and has now come to a 1.0 release of the technology. At
the time of its introduction, Google described Go as a language that attempts
to combine the development speed of working in a dynamic language like Python
with the performance and safety of a compiled language like C or C++.
In a March 28
blog post, Andrew Gerrand, a Google software
engineer and core contributor to the Go language, wrote:
"Today marks a major milestone in
the development of the Go programming language. 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."
Go 1 is the first release of Go that is
available in supported binary distributions, Gerrand said. "They are
available for Linux, FreeBSD, Mac OS X and, we are thrilled to announce,
Windows," he said.
Moreover, Gerrand said 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, he said. 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.
"Go 1 is a representation of Go as
it is used today, not a major redesign," Gerrand said. "In its
planning, we focused on cleaning up problems and inconsistencies and improving
portability. There had long been many changes to Go that we had designed and
prototyped but not released because they were backwards-incompatible. Go 1
incorporates these changes, which provide significant improvements to the
language and libraries but sometimes introduce incompatibilities for old
programs. Fortunately, the
go fix tool can automate much of the work needed
to bring programs up to the Go 1 standard."
Go 1 introduces changes to the language
and the standard library, Gerrand said. A complete list of changes is
documented in the
Go 1 release notes. That document is an essential
reference for programmers migrating code from earlier versions of Go, Gerrand
said.
Finally, the release of Go 1 triggers a
new release of the
Google App Engine SDK, Gerrand said. "A
similar process of revision and stabilization has been applied to the App
Engine libraries, providing a base for developers to build programs for App
Engine that will run for years," he said.