case-sensitivity compromise proposal

Scott David Daniels Scott.Daniels at Acm.Org
Sun May 28 01:13:24 CEST 2000

A point that I have not seen discussed here:
    Part of the process of acquiring language consists of learning
which things are the same and which are different.  Once we
have been taught what "red" means, a whole set of colors start
to be more the same.  As we learn to write in an alphabet, we
are taught that "A" and "a" are the same character.  It takes a
while to learn that several very different looking pictures
(glyphs?) are all the same thing: printed, typeset, italic, script.

It is no wonder that when starting to use your first case-sensitive
computer language it takes a while to notice differences that you
have had to train yourself not to notice.

I, for one, would not object to eliminating case-sensitivity if it
simplifies the learning task for people just learning to program.

It seems that the only "used" case distinctions involve differences
in nocaps, Initialcaps, MixedCaps, and ALLCAPS.  This certainly
fits my programming biases: I would ding in a review any program
that had both "BigVarStore" and "BigVarstore."  I might accept
"A" and "a" as distinct related values, and certainly ONCE and
once are distinct (although ONCE now looks like shouting to me
and Captial letters were _not_ designed to be displayed adjacent
to each other).

I'd be hapy with a system that only allowed four case variations in
words with more than two letters: nocaps, Initialcaps, MixedCaps,
and ALLCAPS.  I'd even be happier with a language that did not
allow the nocaps / Initialcaps distinction, since it is the one
variation that I am so ignoring in English that I don't always
correctly notice which is being used in English about programs;
I notice in, "The 'Big' variable," but not in "... end.  'Big' is a variable
that ...."

If we really want to allow case variation to mean anything, I usually
expect a "type" or "kind" distinction to accompany a case distinction:
"VarBox" may be a set containg elements such as "varbox", or it may
be a class of which "varbox" is an instance.  I can certainly see not
allowing a module to export a pair of words which match when forced
to lowercase, since I generally see a case-only distinction providing a
way to name a "generic" variable related to another provided name,
thus useful only for local variables.


-Scott David Daniels
daniels at Acm.Org

-----= Posted via Newsfeeds.Com, Uncensored Usenet News =----- - The #1 Newsgroup Service in the World!
-----==  Over 80,000 Newsgroups - 16 Different Servers! =-----

More information about the Python-list mailing list