What Ruby Developers Can Learn From Go

28 May 2013

I gave a talk comparing Ruby and Go at RailsConf a few weeks ago. It went pretty well, but overall I think I came off as more negative about Go than I intended to be. The slides are here.

The description (which I wandered from a little bit) was:

Go has rapidly built a reputation as a great language for web development. But as Rails developers, we already have a really, really great language for web development -- why should we be interested in Go?

I’m convinced that every web developer would benefit from exposure to the Go approach to programming, which places a strong emphasis on up-front error handling and modular, namespaced libraries. Let's sit down and compare some code! In this talk, we will:

  • Compare idiomatic approaches to common problems such as error handling, dependency management and testing in Go and Ruby.
  • Think carefully about tradeoffs between different programming styles and examine how programming languages encourage one style or another.
  • 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/Rails and embrace Go.
  • Make vague, unsubstantiated claims about the benefits of static or dynamic typing.
  • Assume any prior knowledge of Go.

If I give the talk again, I'll try to be much more focused at the end. I tried to make too many points about too many different things and didn't quite pull them together well enough. I'll also make better slides, all the bullet points on a tan background got really annoying after a while.

By the way, RailsConf was an awesome conference, and I'd encourage everyone to go to it when it comes to Chicago next year.

comments powered by Disqus