Interview with Nic Jackson, developer advocate at HashiCorp

The meteoric rise of Go and why HashiCorp is betting on it

JAXenter Editorial Team

Why is Go the right decision for HashiCorp? Why should you bet on this young language (compared to others) and what are its limitations? JAXenter editor Gabriela Motroc talked to Nic Jackson, developer advocate at HashiCorp about the benefits of Go, its drawbacks and the reasons why he likes it.

Simplicity speaks volumes in today’s crowded programming languages “market” so it makes sense that a language like Go plays in the big leagues. Go is unstoppable: it has officially entered TIOBE’s top 10 list and, thanks to GopherCon 2017, we found out what’s cooking in the Go kitchen — namely Go 2.

If you were not at GopherCon but you’d still like to know what Russ Cox said during his talk, you’ll be happy to know that the text of his talk has been uploaded on the Go blog. According to Cox, the idea is to ship the backwards-compatible parts of Go 2 incrementally, feature by feature, as part of the Go 1 release sequence. Let’s have a look at a handful of important properties:

  • It keeps the Go 1 releases on the usual schedule
  • It avoids splitting development effort between Go 1 and Go 2
  • It avoids divergence between Go 1 and Go 2 (migration headaches)
  • It allows the team to focus on and deliver one change at a time (that’s one way to maintain quality)
  • It will encourage them to design features to be backwards-compatible.

SEE ALSO: On the road to Go 2: Goals, constraints and roadmap

We might start seeing minor changes about a year from now, for Go 1.12 or so. That also gives us time to land package management support first. Once all the backwards-compatible work is done, say in Go 1.20, then we can make the backwards-incompatible changes in Go 2.0. If there turn out to be no backwards-incompatible changes, maybe we just declare that Go 1.20 is Go 2.0. Either way, at that point we will transition from working on the Go 1.X release sequence to working on the Go 2.X sequence, perhaps with an extended support window for the final Go 1.X release.

Russ Cox

Although these are just estimations, there’s something to look forward to. Keep in mind that the team is not abandoning Go 1 — they promised to “bring it along to the greatest extent possible.”

Betting on Go — Can it take down Java?

In this interview, you’ll discover HashiCorp’s journey with Go from its infancy to maturity. Nick Jackson reveals the decision-making process which ultimately landed on Go, the benefits the company has got out of the standard library, the limitations they have hit along the way, and the reason Go has become the most used tool in their toolbox.

Nic Jackson is a developer advocate and polyglot programmer working for HashiCorp, and the author of “Building Microservices in Go” due to be published April 2017; this book examines the best patterns and practices for building microservices with the Go programming language. In his spare time, Nic coaches and mentors at Coder Dojo teaching kids 7-14 Swift with Playgrounds, teaches at Women Who Go and GoBridge, speaks and evangelizes good coding practice, process, and technique and works to raise money for a charity he runs with his wife.

Inline Feedbacks
View all comments