Google going forward with Go language
Downloadable at the Go website
open source Go language has been positioned as a general-purpose
language suitable for uses ranging from application development to
systems programming and offering such features as garbage collection and
concurrency. It also is intended to be easy to program.
Go 1 is the first release supporting binary distributions, which are
available in Linux, FreeBSD, Mac OS X, and Windows. The language also
integrates with Google's App Engine cloud platform.
"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," according to a post from Go team member
Andrew Gerrand on the Go language blog.
Google also is striving for forward compatibility; version 1 is a
representation of Go as it is used today and is not a major redesign,
Gerrand said. But it does introduce changes such as new types for
Unicode characters and errors. The package hierarchy has been rearranged
to group related items together.
"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 backward-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," Gerrand said.
The Go tool suite is being structured around the go command, which is
a program for fetching, building, installing, and maintaining Go code.
This command eliminates the need for Makefiles to write Go code. Go 1
also triggers a new release of Google App Engine SDK.
In envisioning Go, Google has sought to address what it sees as a
need for faster software development and accommodating multicore chips.
Go is intended to enable compiling of large programs in a few seconds on
a single computer and provide a model for software construction making
dependency analysis easy