The material in this book has been
developed in conjunction with a seminar that I have given for several years, a
couple of times with Larry O’Brien, then with Bill Venners. Bill and I
have given many iterations of this seminar and we’ve changed it many times
over the years as we both have learned more about patterns and about giving the
In the process we’ve both produced
more than enough information for us each to have our own seminars, an urge that
we’ve both strongly resisted because we have so much fun giving the
seminar together. We’ve given the seminar in numerous places in the US, as
well as in Prague (where we try to have a mini-conference every Spring together
with a number of other seminars). We’ve occasionally given it as an
on-site seminar, but this is expensive and difficult to schedule, because there
are two of us.
A great deal of appreciation goes to the
people who have participated in these seminars over the years, and to Larry and
Bill, as they have helped me work through these ideas and to refine them. I hope
to be able to continue to form and develop these kinds of ideas through this
book and seminar for many years to come.
This book will not stop here, either.
After much pondering, I’ve realized that I want Thinking in Python
to be, initially, a translation of this book rather than an introduction to
Python (there are already plenty of fine introductions to that superb language).
I find this prospect to be much more exciting than the idea of struggling
through another language tutorial (my apologies to those who were hoping for