Case sensitivity

Alex Martelli aleax at aleax.it
Fri Feb 21 16:30:08 EST 2003


M.-A. Lemburg wrote:
   ...
>> try) that the functions named (e.g.) 'today', 'localtime',
>> or 'add_century' MUST be lowercase, while (e.g.) functions
>> 'TimeFrom' and 'Age' and 'Time' MUST be mixed-case.  Pah.
>  >
>> Where's the added value in requiring all of this extra
>> memorization or checking?!   Not only of beginners, but of
   ...
> Simple: All lower case is for functions and helpers,
> mixed case for object constructors and classes.

Thanks for explaining the underlying rationale, but it STILL
requires sheer memorization to remember that, out of two
functions returning special objects, e.g. 'today' must be
thought of as a "function or helper" and thus spelled in
lower-case while e.g. 'Age' must be thought of as an
"object constructor" and thus spelled in mixed-case.

My point is about _language_ design, rather than _library_
design within the confines of a case-sensitive language:
*what's the added value of rapping a programmer's knuckles
because he or she tries calling Today() rather than
remembering to call today()*?!  Perhaps fanatics of "bondage
and discipline" languages see virtue in such bondage for
its own sake, but Python is supposed to NOT be about that.

So, I'll keep seeing case-sensitivity as a wart.  An
irredeemable one -- Guido sensed SO much hostility here to
fixing it, when he started mooting the idea, that he gave
up and for once let mob rule override his superb language
designer's instincts, sigh -- but a wart nevertheless.

Belaboring the point is absolutely useless, and it's not
a big enough wart anyway to overcome Python's many other
advantages, but still I cannot just stand idly by and see 
the dead issue raised yet again with the obvious points 
not being made.  Oh well, I guess it's just Usenet's
nature to waste everybody's time and energy this way.


Alex





More information about the Python-list mailing list