Acknowledgments
We'd like to express our gratitude to all the people
who played a part in developing this book. First of all,
we'd like to thank the editors that worked on this
project: Laura Lewin, Paula Ferguson, and finally Linda Mui.
We'd also like to thank O'Reilly in
general, for supporting another Python book project.
We're glad to be a part of what is now a full and
growing Python product line at O'Reilly.
Thanks also to everyone who took part in the early review of this
book—Guido van Rossum, Alex Martelli, Anna Ravenscroft, Sue
Giller, and Paul Prescod.
And for creating such an enjoyable and useful language, we owe an
especially large debt to Guido, and the rest of the Python community;
like most open source systems, Python is the product of many heroic
efforts.
We'd also like to give a special thanks to our
original editor on this book, the late Frank Willison. Frank had a
profound impact on both the Python world, and our own personal
careers. It is not an overstatement to say that Frank was responsible
for much of the fun and success of Python's early
days. In fact, this very book was his idea. In recognition of his
vision and friendship, we dedicate this update to him. Hack on,
Frank.
Mark Also Says:
When I first met Python in 1992, I had no idea what an impact it
would have on the next decade of my life. After writing the first
edition of Programming Python in 1995, I began traveling around the
country and world teaching Python to both beginners and experts.
Since finishing the first edition of this book in 1999,
I've been a full-time, independent Python trainer
and writer, thanks largely to Python's exponentially
growing popularity.
As I write these words in early 2003, I've taught
roughly 90 Python training sessions, in the U.S., Europe, Canada, and
Mexico, and met over one thousand students along the way. Besides
racking up frequent flyer miles, these classes helped me refine my
contributions to this book, especially the core language material.
These parts of the book mostly come straight from my current course
materials.
I'd like to thank all the students who have
participated in my courses over the last seven years. Together with
recent Python changes, your feedback played a huge role in shaping my
contributions to this text. There's nothing quite as
instructive as watching one thousand students repeat the same
beginners' mistakes! The core language section of
this second edition owes its changes primarily to classes held after
1999; I'd like to single out Hewlett-Packard, Intel,
and Seagate for multiple sessions held in this timeframe. And
I'd especially like to thank the clients who hosted
classes in Dublin, Mexico City, Barcelona, and Puerto Rico; better
perks would be hard to imagine.
I'd like to thank O'Reilly for
giving me a chance to work on now six book projects;
it's been net fun (and only feels a little like the
movie Groundhog Day). I also want to thank coauthor David Ascher, for
his work and patience on this project. Besides this book and his day
job developing Python tools at ActiveState, David also donates his
time to organizing conferences, editing other books, and much more.
Finally, a few personal notes of thanks. To all the people I worked
with at various companies earlier in my career. To the Boulder public
library, in which I hid while writing parts of this edition. To the
late Carl Sagan, for inspiration in youth. To Jimmy Buffet, for
perspective at the dawn of middle age. To a woman from New Mexico on
a flight from Oklahoma, for reminding me of the importance of having
a dream. To the Denver Broncos, for winning the big one (twice). To
Sharp and Sony, for making such sweet machines. And most of all, to
my children, Michael, Samantha, and Roxanne, for making me a truly
rich man.
Longmont and Boulder, Colorado, July 2003
David Also Says:
In addition to the previous thanks, I'd like to
extend special thanks to the following.
First, thanks to Mark Lutz for inviting me to work with him on this
book and for supporting my efforts as a Python trainer. Additional
thanks to the impressive array of Python folks who encouraged me in
my early days understanding the language, especially Guido, Tim
Peters, Don Beaudry, and Andrew Mullhaupt. It's
amazing how a little encouragement at the right time can have
long-lasting impact.
I used to teach Python and Jython, much like Mark still does. The
students in these courses have helped me identify the parts of Python
that are the trickiest to learn, as well as remind me of the aspects
of the language that make it so pleasant to use, and I thank them for
their feedback and encouragement. I would also like to thank those
who gave me the chance to develop these courses: Jim Anderson (Brown
University), Cliff Dutton (then at Distributed Data Systems),
Geoffrey Philbrick (then at Hibbitt, Karlsson & Sorensen, Inc.),
Paul Dubois (Lawrence Livermore National Labs), and Ken Swisz
(KLA-Tencor). While I'm no longer regularly teaching Python, that
experience is one I rely on still when coaching novices.
Thanks to my scientific advisors, Jim Anderson, Leslie Welch, and
Norberto Grzywacz, who have all kindly supported my efforts with
Python in general and this book in particular, not necessarily
understanding why I was doing it but trusting me nonetheless. Any of
the lessons they taught me are still relevant daily.
The first victims of my Python evangelization efforts deserve gold
stars for tolerating my most enthusiastic (some might say fanatical)
early days: Thanassi Protopapas, Gary Strangman, and Steven Finney.
Thanassi also gave his typically useful feedback on an early draft of
the book. Several Activators (known to civilians as
"ActiveState employees") have been
tremendous colleagues and friends these last three
years—I'll single out Mark Hammond, Trent
Mick, Shane Caraveo, and Paul Prescod. Each of them have taught me
much, about Python and otherwise. ActiveState as a whole has provided
me with an amazing environment in which to build a career, learn new
things from fascinating people every day, and still program in
Python.
Thanks to my family: my parents JacSue and Philippe for always
encouraging me to do what I want to do; my brother Ivan for reminding
me of some of my early encounters with programming texts (after hours
of effort, realizing that a program listing in Byte magazine was
buggy had a 13-year-old boy crying out of frustration); my wife Emily
for her constant support and utter faith that writing a book was
something I could do; our children, Hugo and Sylvia, for sharing the
computers with me—they approach computers with such ease that I
can't wait to see what their generation comes up with.
Finally, thinking about this edition in particular, I want to thank
everyone who has contributed to the Python community. It is striking
to compare Python now with Python five years ago—the language
has changed a little, while the world in which it lives is so much
broader and richer. It bubbles with enthusiasm, code, and ideas (from
amazingly bright people and crackpots alike), while remaining
respectful and cheerful. Let's keep on doing that.
Vancouver, British Columbia, Canada, November 2003
|