[Python-Dev] [RELEASED] Python 2.7 alpha 2 (original) (raw)

"Martin v. Löwis" martin at v.loewis.de
Tue Jan 12 23:04:37 CET 2010


[...]

I've done a fair bit of 3.x porting, and I'm firmly convinced that 2.x can do nothing: [...] Inherently, 2.8 can't improve on that. I agree that there are limitations like the ones you've listed, but I disagree with your conclusion. Maybe you assume that it's just as hard to move to 2.8 (using the py3k backports not available in say 2.5) as it is to 3.x?

Not at all, no. I'd rather expect that code that runs on 2.7 will run on 2.8 unmodified.

But a hypothetical 2.8 would also give people a way to move closer to py3k without giving up on using all their 2.x-only dependencies.

How so? If they use anything that is new in 2.8, they will need to drop support for anything before it, no???

I think it's much more likely that libraries like Twisted can support 2.8 in the near future than 3.x.

Most likely, Twisted "supports" 2.8 today (hopefully). But how does that help Twisted in moving to 3.2?

Then, when all of your dependencies (or viable alternatives to those dependencies) are available for 3.x, you'll have an easier transition if you can start from a 2.x with fewer differences in features.

But you won't have fewer differences. Just because your code runs on 2.8 doesn't mean it will stop running on 2.3 (if you have a need for that). This doesn't get you any closer - you can't use any of the 2.8 features as long as you have to support older versions of Python.

Fundamentally the more 2.x can converge on 3.x, the easier it will be for users to make the leap, because it will be a smaller leap.

No, it won't. It might be if people move to 2.8 and drop 2.5, but they likely won't.

The longer the 2.x series lives, the more these newer 2.x versions like 2.7 and maybe even 2.8 will be available on common platforms for people to depend upon as minimum versions, which means that as time goes by they can depend on a version that's closer to 3.x.

No, that's incorrect. Suppose 2.7 is the last 2.x release, to be released in 2010. Then, in 2015, it may be that everybody has migrated to 2.7, which then is a common platform.

If you release 2.8 in 2012, then, in 2015, people will be split between 2.7 and 2.8, and so there won't be a common platform before 2017.

So stopping 2.x development earlier will also give us a common platform earlier.

Regareds, Martin



More information about the Python-Dev mailing list