[Python-Dev] [RELEASED] Python 2.7 alpha 2

"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