On Thu, 15 Feb 2007 19:04:34 -0600, Edward K Ream wrote: >> Isn't the very concept of major releases (1.x, 2.x, 3.x) that they *can* >> be not backwards-compatible with previous releases? > > Not at all. Backwards compatibility means that one can still run old code > provided the code eschews new features. Python releases have generally > been backwards compatible with previous releases, with a few minor > exceptions.
That's fine, but Python 3 has been explicitly stated to be where Python will have backwards _in_compatible changes made. That's not to say that all Python 2.x programs will break under Python 3, but some surely will. > For example, my app runs fine on Python 2.2.2 through Python > 2.5, and little work was required to make this happen. In fact, my app > should run find on Python 3.x, but that's because it doesn't use print :-) It's too early to say for sure what will run under Python 3, because it hasn't been decided fully yet, but it is quite probable that it will still compile and/or run and possibly even do what you intended. > In other words, the consequence of pep 3105 will be that *nobody* who wants > their app to be portable will be able to use print until *everybody* has > converted to Python 3.x. I doubt that is what Guido had in mind, but I may > be mistaken :-) I'm pretty sure you're mistaken. Python 3 will be the release that breaks code. Hopefully very little, but there almost certainly will be some. -- Steven. -- http://mail.python.org/mailman/listinfo/python-list