Google's Go programming language hits the 1.0 milestone
Over two years in the making, Google's Go project on Wednesday hit its 1.0 version milestone release, this is the first time the general-purpose programming environment has been made available in supported binaries on Linux, FreeBSD, Mac OS, and Windows.
This release defines both the specification of the Go language and the specification of a set of its core APIs, and implements them in the form of two compiler suites, and the core libraries themselves.
"Go 1 introduces changes to the language (such as new types for Unicode characters and errors) and the standard library (such as the new time package and renamings in the strconv package)," Google Engineer and Go Team member Andrew Gerrand said on Wednesday. "Also, the package hierarchy has been rearranged to group related items together, such as moving the networking facilities, for instance the rpc package, into subdirectories of net."
The appropriately named go command is one of the central elements of the Go toolkit.
go does not use Makefiles or other configuration files to guide program construction. Instead, it uses the source code to find dependencies and determine build conditions.
While 1.0 includes some changes from previous versions, one of the language's core tenets is source-level compatibility. So any program written in Go 1.0 will compile and run properly for as long as the specification exists.
"At some indefinite point, a Go 2 specification may arise, but until that time, Go programs that work today should continue to work even as future 'point' releases of Go 1 arise (Go 1.1, Go 1.2, etc.)," the Go 1.0 documentation says.