|I l@ve RuBoard|
We'd like to express our gratitude to all the people who played a part in developing this book, but this is too short a book to list them all. But we'd like to give a special thanks to our editor, Frank Willison, and O'Reilly in general, for supporting another Python book. Thanks also to everyone who took part in the early review of this book桬ric Raymond, Guido van Rossum, Just van Rossum, Andrew Kuchling, Dennis Allison, Greg Ward, and Jennifer Tanksley. 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 freeware systems, Python is the product of many heroic efforts.
Since writing Programming Python, I've had the opportunity to travel around the country teaching Python to beginners. Besides racking up frequent flyer miles, these courses helped me refine the core language material you'll see in the first part of this book. I'd like to thank the early students of my course, at Badger, Lawrence Livermore, and Fermi Labs, in particular. Your feedback played a big role in shaping my contributions to this text. I also want to give a special thanks to Softronex, for the chance to teach Python in Puerto Rico this summer (a better perk would be hard to imagine).
Finally, a few personal notes of thanks. To coauthor David Ascher, for his hard work and patience on this project. To the people I worked with at Lockheed Martin while writing this book, including my teammate Linda Cordova, to whom I've lost a bet or two. To the late Carl Sagan, for inspiration. To Lao Tzu, for deep thoughts. To the Denver Broncos, for winning the big one. And most of all, to my wife Lisa, and my kids梐 set which now consists of Michael, Samantha, and Roxanne梖or tolerating yet another book project. I owe the latter bunch a trip to Wally World.
In addition to the thanks listed above, I'd like to extend special thanks to several people.
First, thanks to Mark Lutz for inviting me to work with him on this book and for supporting my efforts as a Python trainer. Belated thank yous go to the Python folks who encouraged me in my early days with the language and its tools, especially Guido, Tim Peters, Don Beaudry, and Andrew Mullhaupt.
Like Mark, I've developed a course in which I teach Python and JPython. The students in these courses have helped me identify the parts of Python that are the trickiest to learn (luckily, they are rare), as well as remind me of the aspects of the language that make it so pleasant to use. I thank them for their feedback. I would also like to thank those who have given me the chance to develop these courses: Jim Anderson (Brown University), Cliff Dutton (then at Distributed Data Systems), Geoffrey Philbrick (Hibbitt, Karlsson & Sorensen, Inc.), Paul Dubois (Lawrence Livermore National Labs), and Ken Swisz (KLA-Tencor).
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.
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.
Finally, 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; my wife Emily for her constant support and utter faith that writing a book was something I could do. I thank our son Hugo for letting me use the keyboard at least some of the time, and only learning how to turn the computer off in the last phase of this project. He was three days old when I received the first email from Mark about this book. He's eighteen months old now. It's been a great year and a half.
To the reader of this book, I hope you enjoy the book and through it, the Python language. Through Python, I've learned more than I ever thought I'd want to about many aspects of computing that once seemed foreboding. My aim in helping write this book was to allow others the same experience. If your aim in learning Python is to work on a specific problem, I hope that Python becomes so transparent that it becomes invisible, letting you focus your efforts on the issues you're dealing with. I suspect, however, that at least a few readers will have the same reaction that I had when discovering Python, which was to find in Python itself a world worth learning more about. If that's the case for you, be aware that exploring Python is not necessarily a short-term project. After countless hours, I'm still poking around, and still having fun.
San Francisco, California
|I l@ve RuBoard|