Go, Google's C-killing programming language, hits version 1.5
Six years and six updates later, Google's own programming language, Go, has reached version 1.5. Go 1.5 sees Google "removing the last vestiges of C code" from the code base, and the runtime, compiler and linker are now all written in Go rather than C.
Despite a massive overhaul to the code base, Google assures users that Go 1.5 maintains the promise that Go programs will continue to be supported by all subsequent releases. There is also a move towards mobile devices, with ports of the iPhone and iPad architectures and linking to the Go mobile project opening up the possibility of developing for Android and iOS.
Google highlights speed improvements in this latest build, but another important addition is support for internal packages, allowing for the sharing of implementation details between packages. As revealed in the release documentation, there are a number of key changes that Google is particularly keen to draw attention to:
- The compiler and runtime are now written entirely in Go (with a little assembler). C is no longer involved in the implementation, and so the C compiler that was once necessary for building the distribution is gone.
- The garbage collector is now concurrent and provides dramatically lower pause times by running, when possible, in parallel with other goroutines.
- By default, Go programs run with GOMAXPROCS set to the number of cores available; in prior releases it defaulted to 1.
- Support for internal packages is now provided for all repositories, not just the Go core.
- The go command now provides experimental support for "vendoring" external dependencies.
- A new go tool trace command supports fine-grained tracing of program execution.
- A new go doc command (distinct from godoc) is customized for command-line use.
If you're ready to start coding, head on over to the download page to grab yourself a copy of Go 1.5. Binaries are available for Windows, OS X and Linux, and source code is also available.