sheila at spamcop.net
Fri Jul 20 00:47:37 EDT 2001
On 20 Jul 2001 04:21:31 GMT, quinn at regurgitate.ugcs.caltech.edu (Quinn
Dunkan) wrote in comp.lang.python in article
<slrn9lfcea.b57.quinn at regurgitate.ugcs.caltech.edu>:
:On Thu, 19 Jul 2001 20:30:15 GMT, Guido van Rossum <guido at python.org> wrote:
:>To me, the only real important question is, how can we introduce
:>case-sensitivity for novices without breaking the millions of lines of
:>existing Python code. One option could be: forget it, it's too late.
:>Another: put the case-insensitivity in the tools.
:Given that changing the language itself at this point is too late (and I think
:it is), the question is "for newcomers, does the additional complexity added
:by a layer of indirection in the tools cancel out the benefit of case
:insensitivity?" Obviously, that's assuming there is a benefit and it's
:significant (and just how significant is what no one agrees on). But if I
:were I newbie, I wouldn't like to hear "these are just training wheels, the
:real language has slightly different rules". Don't underestimate the newbie
:appeal of "what you see is all there is" (not that it ever is in python, given
:magic methods etc., but we shouldn't make it worse).
:An editor that optionally gives warnings about names with only case
:differences seems pretty innoccuous, though.
I think this would be an excellent idea. Instead of just giving a "name
error", generate a list of names that it might be close to? Or, if one
appears to be a match excepting for case, ask if that other name might
have been the intended one? A friendly error message!
: Giving people a friendly editor
:is in the same spirit of avoiding "ok, well, to learn python first you need to
:learn the unix shell, to be able to manage your source files and run vi, oh
:yes, then you need to learn to use vi, just memorize this table of commands,
:So I'd say, please don't change the language itself, but it would be
:interesting to see experiments on a friendly python-oriented editing
:environment (to simplify things like finding modules and documentation,
:importing, reloading, etc.).
More information about the Python-list