I’ve been having a lot of fun playing with Google’s new language [Go](http://golang.org/. I just finished A Tour of Go as well as their references: How to Write Go Code and Effective Go. Some of the exercises in the tour were quite fun to implement. You can find my answers in gist. Feedback is welcomed!

The built in concurrency was the most fascinating for me. I was surprised at how simple the last problem (WebCrawler.go) ended up being even though it took a few different designs for me to get it right. I’ve been using Twisted as a back-end for a web app I’m making and the asynchronous behavior is awesome, but its much more complex than Go. The reactor pattern isn’t especially complex, It’s just not baked into the language like it is with Go.

I’m really tempted to make the switch to Go. I don’t have much invested into Twisted because 90% of my app is the front-end. The back-end is really just a REST interface with authentication and authorization.

If you are looking for something new and interesting to do for a few days, try taking A Tour of Go! If nothing else, they have one of the coolest mascots I’ve seen in a while…

Gopher