Tightening up functions which allowed two params where a tuple was correct.
Yeah, we should have used warnings for that first.
The changes to ConfigParser bit me hard;
I think we were too careless with ConfigParser.
I think a couple other std lib changes got me, too.
In many cases my 1.5.2 code ended up better, so the urge to whine is over pretty quickly.
In a broader sense, Unicode is by far the most disruptive change. My excuses for ignoring the damn stuff are disappearing.
Yeah, Unicode will continue to bite where you least expect it. :-(
(2) Was the pain worth it, or would you prefer we'd spent more time on being more backwards compatible?
I don't have more than a muted grumble about backwards compatibility. Where I end up with checking the version, it's to make use of a new feature, not keep old code working. Recompiling all those extensions is the biggest pain.
Distutils to the rescue?
(FWIW, the hardest post 1.5.2 feature for me to do without is augmented assignment.)
Since you're also a C programmer (I believe), I'm not surprised.
Well, the other side of that coin is that I'm still only +0 on list comprehensions and -0 on lexical scoping :-).
That's OK. List comprehensions didn't incur any incompatibilities, and lexical scoping incurred only very rare ones (I think).
--Guido van Rossum (home page: http://www.python.org/~guido/)