[Python-Dev] 2.7 Release? 2.7 == last of the 2.x line?

Terry Reedy tjreedy at udel.edu
Thu Nov 5 01:42:31 CET 2009


Glyph Lefkowitz wrote:

> For what it's worth, the official position of the Twisted project is not 
> that we have "no plan" to move to Python 3.  It's that our plan is to do 
> exactly as Raymond suggests, and give the users a vote - in this case, 
> you vote with your patches :).

You probably will not hear from potential users who skip Twisted because 
it is not available for 3.x. I suspect you do not hear much either from 
new users who only installed 2.x to use Twisted, but would prefer 3.x. 
There are regular questions on python-list about 'web programming with 
3.0' or some such.

> For one thing, we have a very long row to hoe here.  The migration to 
> 3.0 is a long, tedious process with little tangible benefit.

One group that benefits is new Python programmers. Python 3 is easier to 
learn, and is being used to teach Python in at least some schools and 
universities, and will be used more as more libraries are available. 
Hardly a week goes by on Python list without someone posting a problem 
using 2.x that has been solved in 3.x.

Another group is existing programmers who were/are sufficiently annoyed 
by some of the things that got cleaned up.

A third group is people who want to use non-ascii in identifiers, and 
who are delighted now that they can.

Since you do not fall in these groups, I understand your impatience and 
reluctance with the change. I can also imagine that Twisted may be more 
affected by some of the changes than most other projects.

[snip more] ...

> There have been some other comments in this thread indicating that this 
> was not the case because some users indicated that they'd rather deal 
> with lots of changes "all at once".

I wrote that based on both my reading of clp/pylist posts during the 
discussion of the int/int semantic change and Guido's report of private 
conversations he had had.

 > My understanding is that it was
> done this way so that the *developers* of Python could make a clean 
> break, and design and implement a new version of Python without being 
> constrained by compatibility concerns.

I do not believe that was ever intended. It certainly is not what 
happened; many changes were not made *because* of compatibility concerns 
and all went through the filter of 'is the benefit of this change worth 
the pain of breakage'. There is a big difference between not being 
straightjacketed and being unconstrained.

 > If you can show me an actual
> application or library developer in Python who wanted this one-big-jump 
> migration, I will show you a crazy person.

Be careful of labels.

Once the prolonged and intense int/int debate shifted from the ontology 
of ints to the pragmatics of the proposed change, most people agreed 
that int/int 'should' have meant float(int)/float(int) from the 
beginning. But some were still strongly opposed to making the change 
because they (understandably) did not want to have to scan (by eye) 
possibly 10000s or even 100000s of lines for every a/b to determine 
whether any fix was needed. Some said that that would be such a major 
change that it should not be done until there was a new major release, a 
Python 3 off in the then distant future.  Well, that future is now.

I half-jokingly suggested that the change be made on Guido's original
timetable, but that the '2.5' that completed the change simply be 
relabeled '3.0'. I personally would have preferred that it had been 
completed in 2.5. But that did not happen and more changes were made 
once they were made, and here we are.

Terry Jan Reedy



More information about the Python-Dev mailing list