Go 1.7 is beginning to take shape: Release notes draft
Only two more months until the release of Go 1.7! Until then, enjoy the draft of the Go 1.7 release notes that has been prepared for the Go 1.7 beta.
It’s been four months since Go 1.6 was released and people are already curious to see what’s new about 1.7. According to the release notes draft, most of the changes are in the implementation of the libraries, toolchain and runtime —only a minor change has been made to the language specification. The release maintains the Go 1 promise of compatibility, so almost all Go programs should continue to compile and run as before.
As far as the small language change is concerned, the section on terminating statements clarifies that to determine whether a statement list ends in a terminating statement, the “final non-empty statement” is considered the end, matching the existing behavior of the gc and gccgo compiler toolchains. According to the announcement, in earlier releases the definition referred only to the “final statement,” leaving the effect of trailing empty statements at the least unclear. The change will not influence the correctness of existing programs though.
For more information, read the release notes draft here.
Can Go dictate trends this year?
JAXenter.com recently revealed that Go has been gaining momentum in the past few months as more startups have transformed it into their language of choice. Google’ Rob Pike said in a 2012 keynote that “Go’s purpose is not to do research into programming language design; it is to improve the working environment for its designers and their coworkers. Go is more about software engineering than programming language research. Or to rephrase, it is about language design in the service of software engineering.” The talk revealed some of this programming language’s biggest advantages, namely readability, pragmatism and clarity. Pike claimed that Go was created to address a set of software engineering issues which Google had been exposed to in the construction of large server software.
What’s next for Go, you ask? Austin Clements, associate at TenOneTen Ventures explained in a Reddit AMA after the release of Go 1.6 that for the next few releases, they are planning to focus on GC throughput to reduce the total CPU time spent in the garbage collector. ” We’re attacking this on both the ‘micro-optimization’ level, by improving how quickly the garbage collector can scan memory, and the ‘macro-optimization’ level, by reducing the amount of memory the garbage collector has to scan by focusing on areas of the heap that are more likely to be fruitful,” he said. Clements concluded that although they are not planning to “rework” the garbage collector in the next few releases, they are planning to keep improving it.