February 9, 2015

Book review: Learning Python the Hard Way

Since November 2014, I have been studying the computer programming language Python, with the free online book Learning Python the Hard Way, [link]. Written by Zed Shaw, it seems is a great way to start learning how to code or getting back into coding if it has been a while since you last programmed.

The author's premise of the book is that readers won't be able to learn how to code by just copy-and-paste the Python code from the online book into a text editor. Zed encourages, demands, wheedles, nags, and hectors his viewing audience that in order to really learn the Python language (or any programming language for that matter) they need to:

  • Type out the code presented in the book by hand, line by line.
  • Practice thinking about code using the Study Drills at the end of each chapter.
  • Learn how to do independent research on any unfamiliar terms found in the book. 

The book isn't just a guide for Python. I really enjoyed that it a guide that helps you continue practicing how to code, learning by doing. The author peppers the fifty small bite-sized lessons lessons with a lot of dry humor, some funny sarcasm, and a lot of pep talks to keep you focused, no matter how difficult the material may seem at first.

The only problem I found was that the book ran off the rails at the end when it starts talking about advanced topics such as creating Classes and with complex topics such as Object Oriented Programming. The author starts talking about the concepts behind object oriented programming, then launches into having the reader flesh out the skeleton of a text based science fiction computer game without really explaining what is going on. I remembered enough from being a Computer Science major and studying software engineering in grad school, but I think those last four or five chapters would be confusing for a beginner.

I think that this book was a great stepping stone introducing me to the language and getting me back into programming.

-T.J. Maher
 Sr. QA Engineer
 Quincy, MA