Terry Reedy wrote:
Some people appear to not understand the purpose of Python3 or more
specifically, of the changes that break Python2 code. I attempt here to
give a relatively full explanation.
SUMMARY: Python3 completes (or makes progress in) several transitions
begun in Python2.
In particular, Python3 bunches together several feature removals (which
always break someone's code) and a few feature changes (which also break
code). The alternative would have been to make the same changes, a few
at a time, over several releases, starting with about 2.5.
Another alternative would have been to declare 2.0 or 2.1 complete at
far as it went and forbid adding new features that duplicate and
supersede existing features.
Another would have been to add but never remove anthing, with the
consequence that Python would become increasingly difficult to learn and
the interpreter increasingly difficult to maintain with volunteers. I
think 2.7 is far enough in that direction.
[snip]
It's clear that Guido's time machine is limited in how far it can travel
in time, because if it wasn't then Python 1 would've been more like
Python 3 and the changes would not have been necessary! :-)
--
http://mail.python.org/mailman/listinfo/python-list