When learning a new programming language, I learn best by mapping the languages’s contructs to what I already know. This helps to get past the initial stumbling blocks of syntax, allowing me continue further study into topics such as tooling, language philosophy, and writing idiomatic code.
Having been interested in Go for awhile and gone through the tour already, I decided to take it for a spin by implementing another Connect Four version in Go.
Starting to work with Go, one of the best things that I immediately
noticed was that the tooling felt very integrated. Most of the commands
you need are subcommands under the
go command. Importing external
libraries is incredibly easy by specifying a code repository path. In
addition, some of the more common code hosting sites including Github
are directly supported.
One of the trickier things was figuring out how namespacing worked. I had difficulty with testing due to namespacing, and ultimately decided to lump everything into the same namespace.
This exercise was very informative in scratching Go’s surface. My next area of exploration is to implement either a simple AI using goroutines and channels.