A few months back, I received an email from someone at Packt publishing asking whether I'd like a complementary copy of their Expert Python Programming book, and if I would blog about it. I accepted and read the book immediately. However, their request caused me to deeply consider my personal position on grassroots marketing for corporations.
Ultimately, I decided that it wasn't the publisher nor even the author that really mattered or entered into my assessment equation at all. Instead, it's the potential benefit that can be brought to members of the community. So, at long last, I am writing the review :-)
The author of this work is
Tarek Ziadé, is a Python contributor, Plone contributor, CTO of
Ingeniweb, author of a
French Python book, spoke at OSCON last year, and will be talking at PyCon this year. I don't know him personally, but given his credentials, he is a well-qualified and experienced programmer.
Expert Python Programming is actually a shorter book than I expected, coming in at 352 numbered pages. It's also a fairly different book than I expected as well. If these were times when books were given outrageously long titles, I might have suggested something along the lines of:
Expert Python Programming
Wherein the Tools and Methodologies of the Experts
are Described and Discussed
The amount of material that is covered between its covers, though, is impressive. Check out the
table of contents to confirm this. This is essentially a book of best practices and tools for Python developers wanting to move from an intermediate (or advanced beginner) stage towards the levels at which experienced programmers operate. In addition to discussing tools and methodologies, Tarek takes the reader on a quick tour of the entire development process -- an invaluable guide for programmers wanting to hit their stride in larger open source projects or on critical company software initiatives.
In Tarek's
introductory blog post, he quoted
Shannon -jj Behrens as saying the following:
"If you’re looking to progress from knowing Python to mastering Python, this is the book for you. In fact, this is exactly the type of book I wish I had had five years ago. What took me years to discover by steadfastly attending talks at PyCon and my local Python users’ group is now available in a succinct book form."
This is well said... though I would add that this book
in conjunction with
Python Cookbook (especially the last several chapters) can get you this progress that Shannon mentions :-)
One tiny little quibble ... Given that this book might be read by developers who have no experience with distributed version control systems, I would have liked to have seen Bazaar and Darcs mentioned in addition to Mercurial and Git. The reason being that a developer reading this book as her introduction to working with others in a distributed environment may be given the impression that Mercurial is "the Python way", and that's not necessarily the case ;-)
I've already personally recommended this book to curious and motivated beginning Python programmer friends (as well as an intermediate programmer who felt like he was stuck in a skill rut). If you're one of these, consider this my recommendation to you too :-)