Week four, let’s Go! It’s time for week four of the Five Languages in Five Weeks challenge. Weeks one through three, covering TypeScript, Elixir, and Haskell, have come and gone and it’s time to move on to Go. I’ll be learning Go from December 22, 2017 to Thursday, December 28, 2017. I’m going to dive right in and write code in Go everyday over the next week. I will also be reading articles and book about the language and taking courses over it on Pluralsight. It’s going to be a great time.

Go Logo

Why Go?

Go has a lot to offer. It was developed by Google and created by, among others, famous developers Rob Pike and Ken Thompson. The language was created to solve big problems at Google’s scale. Go has a clean and modern syntax that is at once familiar to people who have used any C-based programming language. I feel like Go will be a nice language to get comfortable with over the holidays this week. After learning Elixir and Haskell the last two weeks, Go will provide a nice relaxing week of learning.

Planned Projects

I’ve planned out a few projects that I intend to complete using Go. These projects are based primarily on those completed during the previous weeks of the challenge (week 1, week 2,week 3). None of these projects are too large, but they will serve well as an introduction to the language. I would like to complete a decent sized project using the language, but I don’t know how reasonable that would be at this point. I haven’t completed any big projects yet, but maybe I will this week with all the extra time off due to the holidays. I’ll just have to see how the week plays out and see how far I get.

Here are the projects that I’ve planned out so far.

HelloGo - A hello world program written in Go.
LanguageFeatures - This project exists to demonstrate essential features of the language.
RosettaCode - Code written to compare the styles of all languages. The goal is to implement the same code accross each language.
TestingGo - Project created to get familiar with automated testing using Go.

Repo

All of the code I write in the process of learning Go will be published on GitHub. The repository is called FiveInFive-Go.

Installation Process

So far, each of the other languages have been installed via brew. This made getting up to speed extremely easy. I bet there is a brew package for installing Go, but I went ahead and used the pkg provided here. It was a very easy install.

download pkg/msi
install via onscreen wizard
test installation

Thoughts Coming Into the Language

Go seems to be a language on the rise. Since it was created and maintained by Google, Google has a vested interest in its success. This alone will make the language always have a relatively high base level of support. There has been some major growth in its use over the last few years. A major area where Go has been successful is in development of container software. Specifically, Docker and kubernetes have showed that Go is a ready for the big stage. I’m excited to get a taste of why Go has been so successful since it was first released in 2009.