will python 3000 break my code?

Tim Peters tim_one at email.msn.com
Fri Feb 11 00:52:09 EST 2000


[Ronald L. Dilsavor]
> I am in the process of deciding whether to have a team of folks
> invest in implementing our product in Python and this [presumed
> incompatibility of Python 3000] was one of the "cons" on my list.

As it should be!  Don't overvalue it, though.  For example, even if Python
3000 is an *entirely different language*, no C program stopped working the
day C++ was released -- or a decade later, either.  That is, you won't be
alone no matter what, and the current implementation of Python is
extraordinarily clean and maintainable:  it still needs Guido's help to
guide its evolution, but not at all to keep it running in top shape.  Many
people understand the current implementation, and can handle that fine.  So
if Python 3000 turns out to be wholly incompatible, I fully expect someone
else (i.e., other than Guido) would jump in to continue work on the current
Python line.

So nothing is going to break your product -- the question will be whether
you like Python 3000 enough to justify whatever it may take to move to it.

> I would like to assume that automatic translators will be
> developed  -

I personally would not count on that, but then I am a bit of a pessimist
about such things.  The world of free software is great at delivering what
developers want to write; it's not so hot at delivering what would be most
useful, unless that happens to coincide with the former.  For example, I
wouldn't work on such a translator for love, but may for pay.  And if you
were in my shoes, you'd be typing the same thing <0.5 wink>.

> but at this point its just an assumption. If nobody knows what is
> going to be in 3000 then how do they know it will be incompatible?

Educated guesses, of course.  For example, the type of every instance (of
every class) today is InstanceType.  Nobody likes that; it was a flaw in the
original design, and there's no clean way to repair it without possibly
breaking somebody's code.  Or perhaps "do" will become a keyword, to enable
a new loop construct that obviates the need for an often-complained-about
clumsy Python idiom today.  Anyone with a variable named "do" would then get
hosed.  Etc.

There are a number of things that Guido may like to clean up, and this is
his chance to do it.  You can try to guess how "bad" things will break, but
you really have no solid info to go on (my guess is "not so bad", but nobody
knows at this stage).  So a conservative worst-case plan is to assume that
Python as we know it will be around forever (& there will at *least* be a
new Python 1.6 and a new Python 1.7 to come in this line), while Python 3000
is some other new language entirely.

it's-not-really-that-scary!-ly y'rs  - tim






More information about the Python-list mailing list