I admire what the Python community is attempting with their 3.0 release - they've decided to make a clean break and reimplement the language and libraries - the goal being a more clean, consistent language. I ran across this in SDTimes, and then found this at python.org:
Python 3000 (a.k.a. "Py3k", and released as Python 3.0) is a new version of the language that is incompatible with the 2.x line of releases. The language is mostly the same, but many details, especially how built-in objects like dictionaries and strings work, have changed considerably, and a lot of deprecated features have finally been removed. Also, the standard library has been reorganized in a few prominent places.
This should be interesting to watch, because it's the opposite of what Sun has been doing with Java. Sun has been tweaking and hacking in order to maintain backwards compatibility. There are tradeoffs in both directions, of course - and the way Sun has treated Java has clearly been good for people who adopted it early and stayed with it. I'm not sure how the Python shift will work out, but I'm curious to find out.
We've taken something of a middle course between those two ideas in Cincom Smalltalk. The language is mostly the same as it was in 1981 - the only real change has been the addition of Namespaces. We have made VM changes along the way though, in ways that Sun hasn't been willing to do - and we've made library changes where we thought they made sense. From release to release, Smalltalk code has ported up to the next version without major problems - but porting from, say, VW 3 to VW 7 can be a major project.
I'll watch the progress of this Python change with real interest.
Technorati Tags:
python, compatibility