Book Review: The Go Programming Language
“The Go Programming Language” is a well written resource for anyone already familiar with programming. I wouldn’t recommend it to someone who is completely new to software engineering. Donovan and Kernighan are good authors. The organization layout, progression and associated examples and exercises are all very high quality.
I’ve actually been using Go for various projects for a years but I learned how to use it through some amalgamation of blog posts, online examples and random trial and error. I was unnerved that I may have knowledge gaps. To fortify my confidence in my understanding, I set out to read this book cover to cover. I track and quantify my reading to gauge my progress (and because I just like quantifiable metrics). Reading “The Go Programming Language” took approximately 23 hours over 8 (non-consecutive) days. I made 113 Anki flashcards which I continue to review to increase my memory retention rate.
I think any software engineer with experience building highly concurrent software (using say Node.JS) should be able to lock themselves in a room for 2 weeks with a resource like this book and an internet connection, and come out after highly capable of using Go to solve problems.
One example information provided by the book that filled a knowledge gap of mine can be found on page 126, “bare returns.” This is a useful feature of Golang where a function’s named return values can be implicitly returned. I was aware that this could be done but I didn’t have the quality of knowledge to know the formal term for it. I generally believe striving for correct terminology is important and I’m pleased to have improved my terminology awareness.