Sponsored Link •
Bill Venners: Your number two reason for loving Python was, "My guesses are usually right."
Bruce Eckel: I seem to have had influence on two of the slogans for the Python conference. A few years back I was having dinner with Guido van Rossum, and I said, "Life is better without braces." That ended up being a conference slogan, along with a smiling character who looked like he had just gotten his braces off. The next year, I suggested to Guido a slogan that I think somebody else probably said first, "Python. It fits your brain." That's what I was talking about when I said, "My guesses are usually right." Python allows you to get into this uninterrupted flow, and just go with that without having to think too hard, even if I have to look up the way a library works.
One of my first real productive experiences with Python, beyond just playing
around with the language, involved image processing. I wanted to resize some
GIF files. Given my experience with other languages, I figured this task might
take me half a day if I were lucky. Even if there were an existing image processing
library in Python, I figured the library would be complicated and take significant
time to understand. I discovered a Python library that did graphics manipulation,
and to my surprise, resizing GIFs was as simple as you can imagine it could be.
You create an object, call
reformat, pass in some arguments, and
you're done. In C++, and even in Java, the ease of understanding a library is not
really part of the culture. In Python it really is. Instead of taking a half a day,
which was my best hope, after a half an hour, I couldn't think of any more
features to add to my program. And I was just stunned. I thought, oh, that's what
people mean when they talk about Python's incredible productivity.
Bill Venners: My friend Matt Gerrans, who has used Python quite a bit, tells me that when he has to do something new with a Python library, he will often guess how to do the task instead of look it up, and his guess is usually right.
Bruce Eckel: Yes. That's exactly what I mean. If I just take a guess at the way something in Python is supposed to work, most of the time my guess is right. Of course, I have enough of a grasp of Python now that I don't necessarily guess at it. But there's something marvelous about that, some kind of "quality without a name" there.