Friday, November 18, 2016

Mastering Go

Earlier this year I blogged briefly about learning Go. Having gotten very comfortable with the language, I've written a bunch of small programs and we've deployed some fairly critical code to production at work, and I'm looking at rewriting another production system in Go, so I'm on the path to mastery now.

Having implemented the same concurrency patterns in both Perl and Go, I'm very happy with the power that Go's channels and goroutines provide; it makes concurrent systems much quicker to get up and running and I spend very little time testing and worrying about read/write buffers and blocking/nonblocking calls.

The next step will be getting into the wide world of third-party libraries that other people have written to look for defacto standard modules (like what DBI is to Perl).

All in all, a fun ride so far.