Go has rapidly built a reputation as a great language for web development. But as Rubyists, we already have a great web development language -- why should we be interested in Go?
After using Go in a project at Braintree, I’m convinced that every web developer would benefit from exposure to the Go programming style, which emphasizes small, composable packages and up-front error handling.
In this talk, we will:
- Compare idiomatic approaches to common problems such as error handling and program organization in Go and Ruby.
- Tease out common ideas and best practices that apply to all web applications, regardless of language or framework.
- Read a bunch of code.
We will not:
- Try to convince anyone to ditch Ruby and embrace Go.
- Make vague, unsubstantiated claims about the benefits of static or dynamic typing.
- Assume prior knowledge of Go. In order to make informed comparisons with Ruby, I'll go over the basics of the Go language, but explaining Go won't be the focus of the talk.
I gave a variation of this talk at RailsConf 2013. It was well-received, but there's a lot I think I could have done better. (RailsConf was my first time speaking at a conference.) Since then, I've significantly changed the talk and rewritten my slide deck. In this version, I really want to focus on the error handling and package composition styles of the two languages, rather than spending a huge amount of time going over the basics of Go.
You can see the RailsConf talk on my website.