Several months ago; Mark Pilgrim contacted me, asking if I would be interested in writing the foreword to Dive Into Python 3 - the latest revision to his seminal book Dive Into Python. After I was done being flabbergasted, and after I picked myself off the floor, I gladly accepted. What follows is what I wrote, and what will appear in the print edition of Dive Into Python 3 (amazon link).
I wanted to convey my passion for both the language, the community - for everything involved in this. I wanted to explain why I, as just another developer see Python 3 as critical to the evolution of Python the Language. I also wanted to convey my thanks to Mark for a book which fundamentally helped alter what path I've taken in my life.
I hope you enjoy it, and I hope you enjoy Dive Into Python 3.
Seven years ago, had you asked me if I would be sitting here writing the foreword to a book, much less the foreword to a programming book - I would have looked at you incredulously and I'd have probably laughed.
Yet here I am. Seven years ago, I was simply a test engineer with some scripting skills and a systems administration background. Not a lot of programming and no passion for it, by any stretch of imagination.
One day, a soon-to-be-coworker of mine mentioned this "new" "scripting" language called Python. He mentioned it was easy to learn, and might add to my skill set - although I was wary - programmers seemed to be so separated from my "real world" of tests and systems and users. I went out to the nearest bookstore and bought the first book I found.
The book I bought was the original Dive Into Python by Mark Pilgrim. I have to think that I am not the only person who can say without exaggeration that, that book changed my life and career forever.
Mark's book - his passion for Python and presentation, and the language itself fundamentally altered the way I thought. It drove me to not just read "yet another book about tech stuff" – it drove me to code, to represent my ideas in a completely new, alien way. His passion for the language infected me with a newfound passion.
Now, seven years later, I'm a contributor to the Python standard library, an active community member and teach the language to as many people as I can. I use it in my free time - I use it at my job. I contribute to it in between my daughter's naps. Dive into Python - and Python itself changed me.
Python, as a language may not be the prettiest nor the most flexible language out there. What it is though, is clean, simple and powerful. Its elegance lies in the simplicity and the practicality it holds dear. Its flexibility lies in enabling you, or anyone to get something - anything - done and just “getting out of your way”.
I've said for some time - the beauty of Python is that it scales "up" - it's useful for someone just wanting to do some math, or script something simple, while staying useful for programmers wanting to create large scale systems, web frameworks and multi-million dollar video sharing sites.
Python has not been without its warts though. Building a language is much, at least in my mind, like learning to program. It's an evolutionary process where you constantly have to question the decisions you've made, and be willing to correct those decisions.
That's what Python 3 fundamentally is. It's both the admittance of mistakes and the subsequent fixes, removing some of the warts and maybe introducing some new ones. Python 3 shows a self-awareness and willingness to evolve in much needed ways you don't see in a lot of things.
Python 3 does not redefine, fundamentally alter or suddenly invalidate all of the Python you knew before - what it does is take something which is time-proven and battle worn and improve on it in rational, practical ways.
Python 3 also doesn't end the evolution of the language - not by any stretch. New features, syntax and libraries are still being added, and will probably be added, tweaked and removed for as long as Python itself lives on.
Python 3 is simply a cleaner, more evolved platform for you, the reader, to get things done.
Much like Python 3 - "Dive into Python 3" is an evolution of something which was already very good into something even better. Mark's passion, wit and engaging style is still there. The material has been expanded and improved and updated, but like Python 3 itself - it's still the same thing which gave me a passion for programming.
Python's simplicity is infectious. The passion of the community, and the passion with which the language was created and maintained is astounding.
I hope Mark's passion, and Python itself inspires you, like it did me. I hope you find Python, and Python 3 to be as practical and powerful as hundreds of thousands of programmers and companies across the world.