[Python-Dev] Support the /usr/bin/python2 symlink upstream
steve at pearwood.info
Wed Mar 2 21:16:30 CET 2011
James Y Knight wrote:
> I suspect he's saying it'd be better if the time didn't come (if so,
> I'd agree). Python3 *is* unfortunately a new and incompatible
> programming language, it makes sense for it to have it have its own
> interpreter name.
Oh come on, there's like three incompatibilities versus three thousand
things that are compatible. A pox on your discontinuous mind! *wink*
Seriously, most of the changes are library changes, not language
changes. The similarities far outweigh the differences. I don't think
there is a generally agreed upon objective boundary between "dialect"
and "language", but to my mind the change between 2.x and 3.x falls
squarely under "dialect".
In the same way, I don't care that William Shakespeare's everyday speech
would be nearly incomprehensible to my ears, and mine to his, we both
speak (spoke?) English.
In my opinion, the biggest change from Python 2 -> 3 is that we actually
provide developers tools for migrating scripts rather than leave it for
them to deal with the changes themselves. I recently ported a client's
application written for 2.3 that used string exceptions everywhere to
2.6. I would have loved a "2.3to2.6" fixer :) I don't consider 2.3 and
2.6 to be different languages, and I suspect neither do you, even though
code that runs fine without even a warning under one raises a
SyntaxError under the other.
Every time we drop or rename a module from the standard library, we
break scripts. Such backwards incompatibility is not enough to delineate
different languages. Even syntax changes are not necessarily enough.
> Eventually /usr/bin/python might no longer be
> installed, but that doesn't mean python3 shouldn't simply be called
> python3 forever.
I already call Python 3 "python" in casual conversation. There is *no
way* that I will be calling it "python3" in fifteen years time, when
Python 2.7 is as dead and forgotten as Python 1.5 is now, just to
satisfy some overly strict definition of "different language".
More information about the Python-Dev