Review: The Go Programming language

December 12, 2015

I have been programming in Go from almost one year. I read The Go Programming Language Specification, went through A Tour of Go and looked at Effective Go many times. But when it was announced that Alan Donovan and Brian Kernighan are writing a book The Go Programming Language on Go, I didn’t think much and pre-ordered the book on Amazon.

I received the book on October 20, 2015 and started reading it immediately. I finished the book recently and writing a concise review of the book below.

Who is the book for: Authors assume that reader has some programming experience in one or more dynamic or compiled languages, such as C, C++, Java, python, ruby etc. as far as Go language knowledge goes, they assume that you are new to Go. But that does not mean experienced programmers can not get any thing from this book. I have been programming in Go from almost one year and I also found many trick and areas to improve(that shows how experienced in Go I am..).

Organization of the book: Book has 13 chapters about basic data types, functions, methods, interface and concurrency in Go. Last chapter of book is about doing low level programming in Go using unsafe package.Every chapter has theory, code examples and code exercises about the corresponding topic. First chapter is Tutorial and basically is a tour of basic components of Go programming language, such as command line applications, http server, working with images etc.

Code samples and exercises: This book certainly has some really well thought out code samples and code exercises. Code samples has a normal progression through out the book. Code exercises are also sometime related to sample code (adding new features, enhancing existing code) and sometime writing something new to fully grasp the concept. All the code examples are provided at book source code repository for download. Code exercises need to be done by reader as part of learning process.

Final thoughts: A must have book for Go programmers. Specially who are just starting. Experienced programmers can use the book for reference and bragging rights.