Pep 3105: the end of print?
Steven D'Aprano
steve at REMOVE.THIS.cybersource.com.au
Fri Feb 16 05:35:11 EST 2007
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.
More information about the Python-list
mailing list