[Python-3000] [Python-ideas] Namespaces are one honking great idea -- let's do more of those!
Stephen J. Turnbull
stephen at xemacs.org
Wed Feb 6 07:39:50 CET 2008
Ralf W. Grosse-Kunstleve writes:
> Stephen J. Turnbull wrote:
[really butchered quotes omitted]
> [Prof. George Sheldrick] is one of the brightest people you'll find
> on this planet.
Ad hominem argument. My point is simply that he knows what he needs
and said so. He doesn't need a language able to evolve with the
times. Good for him.
> It remains to be seen if your idea of "evolution" will still be
> remembered in 30 years.
It will, if only because it's not mine, but rather Stephen Jay
Gould's.
> From all I've seen, arbitrarily introducing hardships in the name
> of progress doesn't work out in practice.
Who's introducing hardships? The hardships are inherent in progress
in a language. All I've argued is that the way you want to deal with
these hardships is fundamentally broken in the face of a rapidly
evolving language. The right way is for the app to declare the API it
needs, and for the system to point to a version that provides that
API.
A quick and dirty but basically right solution is available for
systems that understand the shebang: put the fully-versioned name in
the shebang, and make links from the "best" version available to all
versions it can support.
> My personal battle is to not see my own work die a slow death because
> everybody in my field thinks I must be crazy to base my work on something
> that is one day this and the next day something incompatible.
If so, I feel for you. Nevertheless, even if they do,
that's not Python's problem to solve.
> If you give it a new name at least, it will be much easier for me
> to explain and stand my ground.
What's wrong with "Python 2.4" (or whatever)? It's not like the
vendor is going to go out of business or strategically stop
distributing it. It's not like all the programmers familiar with
Python 2 idioms are going to get their brains wiped. It's not like
all the familiar modules will suddenly stop working with Python 2.
It's not like the community will suddenly refuse to answer your
questions because you're working with Python 2.
And it's not like Python 2 will stop being a language far more suited
to rapid evolution of your application than FORTRAN.
> You really need to be able to have both the old and the new in the
> same environment indefinitely, and it has to be easily predictable
> what you get when you run "python".
If you think you depend on predictability of "what you get when you
run 'python'", I hope you're wrong, because it's not dependable unless
you "own" the OS distribution that your users run on and all of their
other applications, too.
More information about the Python-3000
mailing list