blah_blah_blog 2.0

Adam Adair's lousy blog and other assorted blather

I love Go

Last month I ordered the UNIX sticker Pro Pack from Sticker Mule for $1. One of the stickers was of this cute little guy:

go lang gopher

My daughter saw the sticker and asked me about it and I had to admit I had no idea what it was. I did a quick google search and determined it was the mascot of the Go programming language.

I couldn’t in good conscience use the sticker if I didn’t know how to program in Go, so I did the tour. I was impressed with the introduction, and I came away determined to learn the language.

When learning a new language, I always try to couple the learning process with something fun. I started learning Java by using it to create an Asteroids clone before I tried to use it in a business application. I started learning C# by using it to program a chess engine. I learned Python by competing on the CodeFights web site which is now CodeSignal. To learn Go I decided to make an AI bot that competes on the Riddles.io web site. I think that goroutines may be useful that aspect, I’m just not sure how yet.

I decided the first competition to enter will be the AI Block Battle. I coded up a starter bot that others could use to get started making a go-bot which I put here on github. I haven’t completed my entry yet, but I’m hoping to have something to release soon.

I bought the book “The Go Programming Language” by Alan A. A. Donovan and Brian W. Kernighan, and this was one of the best computer books I have purchased in a very long time. I finished working through it in about a week, and when I was done I had a new favorite language. This happens to me about every 5 years, and usually I have no good use for the language that just became my absolute favorite, and this time is no different. This language will never become part of the technical architecture of where I work, and I can’t think of anything very useful to do with Go, other than compete in programming competitions and develop game playing bots. Does anyone hire Go programmers for something useful?