Foreword for “Python in Practice”

This is the foreword I wrote for Python in Practice, by Mark
Summerfield, available now in print and ebook formats from Amazon
and directly via the publisher.

I have been building software with Python for 15 years in various
application areas. Over that time I have seen our community mature and
grow considerably. We are long past the days of having to “sell”
Python to our managers in order to be able to use it in work-related
projects. Today’s job market for Python programmers is
strong. Attendance at Python-related conferences is at an all time
high, for regional conferences as well as the big national and
international events. Projects like OpenStack are pushing the language
into new arenas and attracting new talent to the community at the same
time. As a result of the robust and expanding community, we have more
and better options for books about Python than ever before.

Mark Summerfield is well known in the Python community for his
technical writing about Qt and Python. Another of Mark’s books,
Programming in Python 3, is at the top of my short list of
recommendations for learning Python, a question I am asked frequently
as the organizer of the user group in Atlanta, Georgia. This new book
will also go on my list, but for a somewhat different audience.

Most programming books fall at either end of a spectrum that ranges
from basic introductions to a language (or programming in general) to
more advanced books on very focused topics like web development, GUI
applications, or bioinformatics. As I was writing The Python Standard
Library by Example
, I wanted to appeal to readers who fall into the
gap between those extremes – established programmers and generalists,
both familiar with the language but who want to enhance their skills
by going beyond the basics without being restricted to a specific
application area. When my editor asked me to review the proposal for
Mark’s book, I was pleased to see that Python in Practice is designed
for the same types of readers.

It has been a long time since I have encountered an idea in a book
that was immediately applicable to one of my own projects, without it
being tied to a specific framework or library. For the past year I
have been working on a system for metering OpenStack cloud
services. Along the way, the team realized that the data we are
collecting for billing could be useful for other purposes, like
reporting and monitoring, so we designed the system to send it to
multiple consumers by passing the samples through a pipeline of
reusable transformations and publishers. At about the same time that
the code for the pipeline was being finalized, I was also involved in
the technical review for this book. After reading the first few
sections of the draft for chapter 3, it became clear that our pipeline
implementation was much more complicated than necessary. The coroutine
chaining technique Mark demonstrates is so much more elegant and easy
to understand that I immediately added a task to our roadmap to change
the design during the next release cycle.

Python in Practice is full of similarly useful advice and examples
to help you improve your craft. Generalists like me will find
introductions to several interesting tools that you may not have
encountered before. And whether you are already an experienced
programmer or are making the transition out of the beginner phase of
your career, this book will help you think about problems from
different perspectives and give you techniques to create more
effective solutions.

Doug Hellmann
Senior Developer, DreamHost