Learning Go

Oct 2, 2014 12:36 · 252 words · 2 minute read

Part of our job as a developer is to learn new programming languages. But why ? Can’t we just stick with a small number of languages and use our precious time to do something else ? It turns out that learning new languages means learning new paradigms, new ways of doing things, and is in fact quite fun. Once you know the basic concepts, it’s fairly easy to learn a new one.

This time I’ve decided to learn Go. But why Go ? I first heard that the Docker project was build in Go. I then read that one of the most prolific Node.js developer, TJ Holowaychuk, was moving to Go. So that I can understand why these people are using this fairly new language, I decided to dive in and I’m quite happy with what I’ve found so far.

I began with the tour of Go, did the exercices, but I didn’t get it. This was until I read the excellent book An Introduction to Programming in Go: I finally understand what slices, goroutines, channels are. Another great resource is Awesome Go, a curated list of awesome Go frameworks, libraries and software.

Now that I’ve learned the basics, it’s time to find a small OSS project to work on. I wanted to build a web chat, but found Shout which is really great. I then wanted to build a deployment script, but found deploy which does exactly what I want. So, I’m still looking for a new project: ideas are welcomed…