[Python-Dev] [RELEASED] Python 2.7 alpha 2 (original) (raw)
"Martin v. Löwis" martin at v.loewis.de
Mon Jan 11 22:42:45 CET 2010
- Previous message: [Python-Dev] [RELEASED] Python 2.7 alpha 2
- Next message: [Python-Dev] [RELEASED] Python 2.7 alpha 2
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
So the question we should be asking is: what's missing from Python 2.7 to help with this transition?
Wrt. the distribute feature you've noticed: Python 3.0 already supports that in distutils. So from day one of Python 3.x, you could have used that approach for porting Python code. I had been promoting it ever since, but it's taking up only slowly, partially because it has competition in the approaches "burn the bridges" (i.e. convert to 3.x once, and then have two code bases, or abandon 2.x), and "avoid 2to3" (i.e. try to write code that works in both 2.x and 3.x unmodified).
If we can't get it into 2.7, then why, and would pushing it back to 2.8 help at all?
I've done a fair bit of 3.x porting, and I'm firmly convinced that 2.x can do nothing:
a) telling people that they have to move to 2.6 first actually hurts migration, instead of helping, because it implies to them that they have to drop old versions (e.g. 2.3.) - just because they had always dropped old versions before supporting new ones. b) IMO, people also don't gain much by first migrating to 2.6. In principle, it gives them the opportunity to get py3k warnings. However, I haven't heard a single positive report where these warnings have actually helped people in porting. Yours is the first report saying that you followed the official guideline, but you didn't state whether doing so actually helped (or whether you just ported to 2.6 because the guideline told you to). c) whatever 2.7 does (except perhaps for the warnings), it won't be useful to applications, because they couldn't use it, anyway: they need to support 2.4 and 2.5, and it won't have any of the gimmicks people come up with for 2.7. Adding gimmicks to 2.7 might actually hurt porting: people may have to special-case 2.7 because their work-arounds for older versions may break in 2.7 (e.g. testing whether a name is not defined, when it becomes defined in 2.7), plus it gives them an incentive to not port yet until they can drop support for anything before 2.7.
Inherently, 2.8 can't improve on that.
Regards, Martin
- Previous message: [Python-Dev] [RELEASED] Python 2.7 alpha 2
- Next message: [Python-Dev] [RELEASED] Python 2.7 alpha 2
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]