Trying out the Go programming language

I’ve been playing around with Go, and so far I like it a lot. Go’s greatest innovation is that the compiler is the build tool, the package manager, the style checker, the linter, and the runner.

Here are a few Go libraries/programs I made:

Go’s language tour, documentation, and standard library are all excellent. I was able to be productive in Go very soon after finishing the first half of the language tour.

The quality of third-party libraries is quite high as well; I am optimistic that this is the result of Go’s careful design, and not just because it’s a fairly new language. In particular, I found go-imap to be spectacularly easy IMAP library to use and extend with new functionality (it is far better than Python imaplib and JavaMail).

One thing about Go that’s still unclear to me is which Web framework is the best (and most Go-idiomatic) for writing REST APIs. I haven’t yet had a chance to try out many of them, and the Libraries Written in Go page is purely descriptive, not normative.