BT

Google's Go Readies 1.1 Release

by Jeff Martin on Apr 11, 2013 |

As Google's Go programming language version 1.1 nears release, the developers have announced the release of the latest beta, providing a working preview of its new features. Not least among these is an estimated speed increase of 30%-40% in several use cases. Version 1.0 of Go was released a little over a year ago in March 2012, and to this point Google has released bug fixes but version 1.1 will bring new features while upholding their commitment to backwards compatibility with 1.X version. The updates affect the toolset, language features, and changes to the standard library.

New Language Features

  • Integer division by zero
  • Method values
  • Return requirements – Previously functions that returned a value required an explicit “return” or call to panic, this has been relaxed with the addition of terminating statements.

Tools / Implementation

  • gccgo – Version 4.8 of GCC (GNU Compiler Collection) released in March 2013 has partial Go 1.1 support, while the upcoming GCC 4.8.1 scheduled for release in May should provide complete 1.1 support.
  • int/unit on 64-bit implementations now defined as 64-bit. This could issues for programs expecting these types to only be 32-bit.
  • Heap size - On 64-bit systems this has been expanded to tens of gigabytes (exact size system dependent and not finalized)
  • go command
    • Error messages for compiling, testing, and running code are more descriptive
    • $GOPATH must be set in order to use go get, and it is no longer acceptable for it to be equal to $GOROOT
  • go fix has been adjusted to support migrating of code from 1.0.X to 1.1. (Pre 1.0.X code cannot be upgraded directly to Go 1.1)
  • Race detection – developers battling with race conditions will benefit from using new option -race with go test. It is currently available for the 64-bit platforms Linux, OS X, and Windows.

Go's developers report significant performance increases in several (but not all use cases). These increases are brought about by improvements to the compiler's code generation, a better map implementation, fewer context switches in networking applications, and an improved garbage collector.

Downloads for major platforms (Windows, Linux, OS X, etc) are available now for 1.1 Beta 2. Keep in mind that development is progressing at a brisk pace so newer versions can and will appear. Developers should be able to take advantage of the new 1.1 features by recompiling their existing code.

Hello stranger!

You need to Register an InfoQ account or to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Congrats to the Go team for a great language by Dean Schulze

Congratulations to the Go team for version 1.1 of a great language. I'm looking forward to the growth of the Go ecosystem and hope that Go is widely adopted.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

1 Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2013 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT