Google homebrew Go is continuing to evolve at a rapid pace, with version 1.6 of the language now ready officially GA and ready for production.

In the seventh major release for Go, this time around, the big news is HTTP/2 support in its net/http package. Currently used by around 6.5% of all websites (and 13.6% of the top 1000 sites) , HTTP/2 represents the first evolution of HTTP since 1997, and is intended to address latency issues that have arisen with the advent of a broadband driven network. The update also aims to move the web away from its traditional text-based protocol towards one that is defined by a binary, multiplexed network. Go 1.6 enables support for HTTP/2 by default for both servers and clients when HTTPS is running, allowing users to reap the benefits of the protocol across a number of Go projects.

Other improvements include new feature additions to Go’s template packages, with support for trimming spaces around template actions and new {{block}} action which allows you to create templates which build on other templates (see the demos here). There have been updates to the runtime for detection of concurrent misuse of maps and modifications for how it prints program-ending panics, as well as a number of bug fixes. For a full list of what’s new in Go 1.6, head over to the official Go language blog.

To celebrate the release, Team Go have been taking part in a Reddit “Ask Me Anything” (AMA) session, where Googler Rob Pike has been pretty frank about mistakes made in the early days of Go’s development – namely, the fact that os.Stdin and os.Stdout are concrete types instead of  io.Reader and io.Writer, and that some of the earliest libraries written now don’t appear particularly “Go like”.

On the thorny topic of generic types, whilst the development team have stated they feel no “urgency” to add them to the language at present, there has been considerable work on generics proposals which may eventually see the light of day – if only to demonstrate just why Go remains so steadfastly generic free.

Whilst Go is frequently pitted against Java, it actually bears a closer a closer resemblance to the C family, with elements borrowed from Pascal / Modula / Oberon  as well as from Newsqueak and Limbo. Go adoption has continued to climb over the past year, and whilst it’s probably not giving Oracle suits any sleepless nights just yet (especially now Android is has opened up to OpenJDK), in the latest RedMonk Programming Language Rankings, Go placed alongside Haskell in the number 15 slot – just one below relative old timer Scala.

 

Go 1.6 Arrives with HTTP/2 Support

| Modern Web| 133 views | 0 Comments
About The Author
- Editor of Voxxed.com, focusing on all things Java, JVM, cloud-y, methodical, future-fantastic, and everything in between. Got a piece of news, article or tutorial you'd like to share with your fellow Voxxians? Drop us a line at info@voxxed.com

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>