Python 3000 and "Python Regrets"

B

beliavsky

I just came across the slides for Guido van Rossum's "Python Regrets"
talk, given in 2002. It worries me that much of my Python code would
be broken if all of his ideas were implemented. He doesn't even like
'print'. Of course, I am not qualified to argue with Van Rossum about
the direction of Python.

When is Python "3000" expected to appear? Is there a list of expected
incompatibilities with Python 2.3? Are serious Python programmers
already taking care to avoid using Python features that may disappear
in Python 3000?
 
I

Ian Bicking

I just came across the slides for Guido van Rossum's "Python Regrets"
talk, given in 2002. It worries me that much of my Python code would
be broken if all of his ideas were implemented. He doesn't even like
'print'. Of course, I am not qualified to argue with Van Rossum about
the direction of Python.

When is Python "3000" expected to appear? Is there a list of expected
incompatibilities with Python 2.3? Are serious Python programmers
already taking care to avoid using Python features that may disappear
in Python 3000?

Python 3000 is kind of imaginary. It's a what-if: what if Guido could
do whatever he wanted without worrying about backward compatibility?

At one point Python 3000 and Python 3.0 were kind of the same thing (or
the same plan -- neither are implemented or even thoroughly planned).
Now they are separate ideas -- if you see references to Python 3.0, it
also includes some backward incompatible changes and cleanup, like maybe
input() will disappear, and integer division will go away, and things
like range() will return iterators (and xrange goes away). But it's
much more conservative, and presented as a more realistic plan. print
will still be around.
 
T

Tim Peters

[[email protected]]
I just came across the slides for Guido van Rossum's "Python
Regrets" talk, given in 2002. It worries me that much of my Python
code would be broken if all of his ideas were implemented.

Actually, none of it would break, provided you don't change the Python
implementation you use.
He doesn't even like 'print'. Of course, I am not qualified to argue
with Van Rossum about the direction of Python.

When is Python "3000" expected to appear?

This is usually expressed an as a positive offset from the time hell
freezes over, but people vary in their estimation of both parts. At a
minimum, it requires that Guido first get a job where he can
concentrate on Python development. That will happen when hell freezes
over, but may happen before then. Hard to say.
Is there a list of expected incompatibilities with Python 2.3?
No.

Are serious Python programmers already taking care to avoid
using Python features that may disappear in Python 3000?

No, although some naturally avoid dubious features without being
threatened <wink>.
 
M

Matt Gerrans

Anyway, what's to worry about? When the time comes just whip out a little
script that converts Python 1.6 (or whatever you like) to Python3K; it will
only take seven lines of P3K code.
 
B

Brad Tilley

Matt said:
Anyway, what's to worry about? When the time comes just whip out a little
script that converts Python 1.6 (or whatever you like) to Python3K; it will
only take seven lines of P3K code.

How about 'import classic'
 
D

Dave Benjamin

Steve said:
... or

from __past__ import __mistakes__

LOL! Better yet:

import __past__
del __past__.__mistakes__

Boy, what a load off!

Merry Christmas in advance,
Dave
 
P

Peter Hansen

Dave said:
LOL! Better yet:

import __past__
del __past__.__mistakes__


You can't change the past, as everyone knows, so
the names in that module are constants, like None
is in Python 2.4.

It's better simply not to spend time looking at it,
following the Pythonic DCOSM** idiom clearly suggests:

from __past__ import __mistakes__
del __mistakes__


Of course, those who forget history are doomed to repeat
it, so it might be better to do this, even though it's
in violation of common Python stylistic advice:

from __past__ import *
del __mistakes__

Unfortunately, I'm not sure whether you'll get a NameError
here, because the "from xx import *" pattern generally
doesn't retrieve names that begin with an underscore...

-sucking-up-bandwidth-for-all-its-worth-ly y'rs,
Peter

** "Don't cry over spilt milk", of course...
 
P

Peter Maas

Dave said:
LOL! Better yet:

import __past__
del __past__.__mistakes__

Boy, what a load off!

Merry Christmas in advance,

from __future__ import NewYear

A Happy New Year to everybody!

;)
 
D

Dieter Maurer

Tim Peters said:
...

No, although some naturally avoid dubious features without being
threatened <wink>.

Are there dubious features in Python? :)


Dieter
 
N

Nick Coghlan

Tim said:
[[email protected]]
Is there a list of expected incompatibilities with Python 2.3?

No.

PEP 3000 doesn't count?

Actually, PEP 3000 should be taken with a (large) grain of salt, since it's only
updated somewhat irregularly - but it's the closest thing I know of to a
proposed feature list for Py3K/3.0.

Cheers,
Nick.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,057
Latest member
KetoBeezACVGummies

Latest Threads

Top