Sunday, November 11, 2012

My Review of Think Python


A Concise Intro to Python Programming
By IT_Voyager from Ventura, CA on 11/11/2012


4out of 5
Pros: Concise, Well-written, Helpful examples, Easy to understand, Accurate
Best Uses: Novice, Student
Describe Yourself: Solution Architect
Full Disclosure: I obtained a free copy of this book as part of the O'Reilly Blogger Review program.

Allen B. Downey's recent release (from O'Reilly) - 'Think Python' is an excellent example of how an introductory programming book should be crafted.

Clear, concise, entertaining, insightful, crisp, useful - these are some of the words that come to mind while reading this book.

There is good coverage of some of the differences between Python 2 and 3.

This is an excellent text for the novice programmer to learn Python - providing a general purpose overview of the language. The interested reader will find enough learning
traction within this book to more easily proceed to more advanced texts.

Programming concepts are gradually introduced, with successive layers of refinement adding further understanding of more complex programming concepts.

At the end of each chapter are suggested exercises to further deepen the reader's grasp of the concepts just presented.

The inclusion of links to codes samples and solutions at the http://thinkpython.com site is a nice touch.

While this book provides a very light overview of some essential software design concepts (Functions, Encapsulation, Generalization, Recursion, Inheritcance, Polymorphism), the reader of this book should plan to further enhance their understanding with supplemental books to cover deeper functional programming concepts as well as deeper understanding of class design and object oriented concepts.

It is notable that although this book certainly fits into the classification category of introductory - the coverage includes an uncommon attention to such important matters
as debugging and analysis of algorithms. As an additional bonus, Appendix C provides a discussion of Lumpy ("...to examine the state of a running program and generate object diagrams...and class diagrams) - which is included in the Swampy code discussed early in the book.

No comments: