Namespaces are one honking great idea -- let's do more of those!

This is regarding the transition to Python 3, and the confusion caused by using the same executable name for two incompatible interpreters. The consequences of this struck me today when I saw this message appear on an important bulletin board for the field I'm working in: http://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ind0802&L=ccp4bb&T=0&F=&S=&P=1562 This posting is from a heavy-weight in the field (lookup his name with Google or better The Web of Science). Basically he's suggesting to forget about Python because it is an unreliable environment. There is also this reply calling the original posting "alarmist": http://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ind0802&L=ccp4bb&T=0&F=&S=&P=1464 And this one making fun of the whole thing: http://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ind0802&L=ccp4bb&T=0&F=&S=&P=1675 I interpret these messages as early signs of an imminent decade of confusion. Therefore my plea: PLEASE GIVE THE PYTHON 3 EXECUTABLE A DIFFERENT NAME AND THE SCRIPTS A DIFFERENT EXTENSION. It will be a terrible political setback otherwise. Many people don't *want* to understand even if they could. Mixing up two incompatible interpreters under one name will give them plenty of ammunition for cheap jokes and for defending their not-invented-here-or-before-I-was-16 attitude. Ralf P.S.: My wife is from Hungary. It seems all men in Hungary have to have one of exactly three names: Andras, Laszlo, or Balazs. I never know whom she's talking about...

[bah. Resending to the list this time.] On Feb 1, 2008 11:41 PM, Ralf W. Grosse-Kunstleve <rwgk@yahoo.com> wrote:
PLEASE GIVE THE PYTHON 3 EXECUTABLE A DIFFERENT NAME AND THE SCRIPTS A DIFFERENT EXTENSION.
We're already have half of that: $ python2.1 -V Python 2.1.3+ $ python2.2 -V Python 2.2.3+ $ python2.3 -V Python 2.3.5 $ python2.4 -V Python 2.4.4 $ python2.5 -V Python 2.5.1 They also have often broken python code that depended on one or two small details, and we haven't needed a new extension before. Now it's true that py3k will break much more than before, but I still don't see the need to differentiate based on extension. Installed libraries have the version in the directory name and installed programs should specify a version in their shebang. The *only* issue I see is that, if you run the 2to3 tool on your 2.6-targetted codebase, it needs to output into a different directory so that you can distinguish them. That's so trivial that I question even mentioning it though. -- Adam Olsen, aka Rhamphoryncus

Adam Olsen wrote:
They also have often broken python code that depended on one or two small details, and we haven't needed a new extension before.
But we haven't had such major incompatibilities between versions before. At the least, I think the executable should only be installed as "python3", and never just "python" (unless you know what you're doing and ask for it). -- Greg

Guido asked that this thread be moved to python-3000. Reply-To set. Greg Ewing writes:
I don't see any need to shorten "python3.0" to "python3". Also, another exception should be if there is no other Python installed. Then installing a link at "python" should be OK.

This should be brought up on the python-3000 list; I'm moving it there using a Bcc to python-ideas. To some extent it is up to the vendors who distribute binaries -- they decide what to call it. Perhaps we should only install "python3.0" and not "python". That is a valid choice already and always has been (python2.1, python2.2, etc. are always installed by default, "python" is just a convenient alias). I think that worries about Python becoming the laughingstock of the language world are highly exaggerated. The post you refer to sounds to me like the typical cynical one-liner from someone who doesn't really care, not about a position of someone who is influential in the world of language users. --Guido PS. Java is the VB of this decare. On Feb 1, 2008 10:41 PM, Ralf W. Grosse-Kunstleve <rwgk@yahoo.com> wrote:
-- --Guido van Rossum (home page: http://www.python.org/~guido/)

[bah. Resending to the list this time.] On Feb 1, 2008 11:41 PM, Ralf W. Grosse-Kunstleve <rwgk@yahoo.com> wrote:
PLEASE GIVE THE PYTHON 3 EXECUTABLE A DIFFERENT NAME AND THE SCRIPTS A DIFFERENT EXTENSION.
We're already have half of that: $ python2.1 -V Python 2.1.3+ $ python2.2 -V Python 2.2.3+ $ python2.3 -V Python 2.3.5 $ python2.4 -V Python 2.4.4 $ python2.5 -V Python 2.5.1 They also have often broken python code that depended on one or two small details, and we haven't needed a new extension before. Now it's true that py3k will break much more than before, but I still don't see the need to differentiate based on extension. Installed libraries have the version in the directory name and installed programs should specify a version in their shebang. The *only* issue I see is that, if you run the 2to3 tool on your 2.6-targetted codebase, it needs to output into a different directory so that you can distinguish them. That's so trivial that I question even mentioning it though. -- Adam Olsen, aka Rhamphoryncus

Adam Olsen wrote:
They also have often broken python code that depended on one or two small details, and we haven't needed a new extension before.
But we haven't had such major incompatibilities between versions before. At the least, I think the executable should only be installed as "python3", and never just "python" (unless you know what you're doing and ask for it). -- Greg

Guido asked that this thread be moved to python-3000. Reply-To set. Greg Ewing writes:
I don't see any need to shorten "python3.0" to "python3". Also, another exception should be if there is no other Python installed. Then installing a link at "python" should be OK.

This should be brought up on the python-3000 list; I'm moving it there using a Bcc to python-ideas. To some extent it is up to the vendors who distribute binaries -- they decide what to call it. Perhaps we should only install "python3.0" and not "python". That is a valid choice already and always has been (python2.1, python2.2, etc. are always installed by default, "python" is just a convenient alias). I think that worries about Python becoming the laughingstock of the language world are highly exaggerated. The post you refer to sounds to me like the typical cynical one-liner from someone who doesn't really care, not about a position of someone who is influential in the world of language users. --Guido PS. Java is the VB of this decare. On Feb 1, 2008 10:41 PM, Ralf W. Grosse-Kunstleve <rwgk@yahoo.com> wrote:
-- --Guido van Rossum (home page: http://www.python.org/~guido/)
participants (5)
-
Adam Olsen
-
Greg Ewing
-
Guido van Rossum
-
Ralf W. Grosse-Kunstleve
-
Stephen J. Turnbull