[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