And now for something completely Pythonic...

Expert Python Programming - a review

written by Georg, on Thursday, March 19, 2009 19:02.

Like many others, I've been asked to review "Expert Python Programming" by Tarek Ziadé, in exchange for a free copy. I've done so gladly, since I had already proofread the chapter devoted to documentation and especially Sphinx, before the release, and the overall goals and style of the book looked very nice to me.

The author was obviously very qualified to write the book, being a long-time Python developer and nowadays regular contributor to the Python project -- he took over Distutils maintenance a while ago (and it needed a maintainer badly).

After reading the whole thing, I can only recommend the book to anyone who knows basic Python lore, and is eager to learn "how the wizards do it". The material covered is a whole lot, but it is presented in a clear way so that you remember the important things right away, and keep all others at the back of your head, ready to spring forward when the time is right. Best of all, it makes you enjoy coding and using the language and tools, by making the most of them.

A unique aspect of the book is that "programming" in the title doesn't stand for "coding" alone, but that the whole development process is illuminated, and you can see best practices in every step that makes a successful overall programming project, be it an open-source one or a commercial one: code, version control, documentation, testing and optimizing, deployment, ...

The part about advanced coding practices is about what I had expected. Many of those little corners of Python that make it so powerful yet enjoyable are covered: the whole story about iterators, decorators, class internals, to mention a few.

It has been said by others that the lack of 3.0 coverage is a minus for this book. However, since 2.x is going to stick around for a long time, which is easy to see by the number of ported open-source projects, let alone commercial ones where money spent on porting is certainly not an unlimited resource, it is not at all detrimental, and I dare say that when you've read this book you're ready to apply the principles to 3.0-based programming easily :-) That said, a future edition with a few of Python 3.x's many additions would be nice.

What made me especially proud is that, as said before, Sphinx gets mentioned as one possibility to write good documentation for a project. I'm sure the share of Sphinx users that were prompted to try Sphinx out by this book isn't too small. (And, since the version portrayed in the book was still 0.1.x, they will be delighted by what has been improved since then.)

So: my recommendation goes to beginners wanting to know more, as well as interested people who already are experts in other programming languages and want to know "how it's done in Python".

Comments

  1. I'm beginning to think I was the only person not asked to review the book.

    —  Jack Diederich on Friday, March 20, 2009 5:22 #

  2. The absolute killer feature of Sphinx is that its output is pretty *out of the box*. And everyone can see that by going to the official Python documentation website. Python using it is also a big endorsement.

    —  Marius Gedminas on Saturday, March 21, 2009 13:42 #

Commenting is no longer possible.