artima.com has two parts of an interview with Bruce “Thinking in C++/Thinking in Java” Eckel in which he talks about why his new favourite programming language is Python. Here’s an excerpt, which pretty sums up my feelings as well:
It seems the compromise in Java is marketing. They had to rush Java out to market. If they had taken a little more time and implemented design by contract, or even just assertions, or any number of other features, it would have been better for the programmer. If they had done design and code reviews, they would have found all sorts of silliness. And I suppose the way Java is marketed is probably what rubs me the wrong way about it. We can say, “Oh, but we don’t like this feature,” and the answer is, “Yes, but, marketing dictates that it be this way.”
Maybe the compromises in C++ were for marketing reasons too. Although choosing to be efficient and backwards compatible with C was done to sell C++ to techies, it was still to sell it to somebody.
I feel Python was designed for the person who is actually doing the programming, to maximize their productivity. And that just makes me feel warm and fuzzy all over. I feel nobody is going to be telling me, “Oh yeah, you have to jump through all these hoops for one reason or another.” When you have the experience of really being able to be as productive as possible, then you start to get pissed off at other languages. You think, “Gee, I’ve been wasting my time with these other languages.”
The interview is in two parts: