Case-sensitivity: why -- or why not? (was Re: Damnation!)

François Pinard pinard at iro.umontreal.ca
Sun May 21 10:53:05 EDT 2000


"Juergen A. Erhard" <jae at ilk.de> écrit:

> Actually, I couldn't even name a case-insensitive language offhand... and
> I doubt they are really easier than case sensitive ones.

Some among the oldest FORTRANs, maybe.  COBOL, I don't know.  Scheme.  HTML.

The older things just because lower case letters were not brought into
computers yet, character sets being based on 6 bits per character, or even
shifted 5 bits.

Why Scheme adopted case insensitivity is a mystery to me.  DSSSL is Scheme
with case-sensitivity added.  For the Scheme code I saw, people usually write
Scheme reserved words in lower case, except in quasi-quotes, when they use
upper case to mean that the lower case keyword is more data than executable.
That is, case confusion is used as a device to bear extraneous information,
which has to be thrown away nevertheless when moving to Scheme to DSSSL, say.
I never saw the advantage of case confusion (oops! insensitiveness :-).
It makes Scheme sources a bit more lax, not often, not much.  Just enough
to tease anal people, like me (and probably Guido as well :-), with no
real overall advantage once everything summed up.

HTML case confusion is just well aligned with the overall HTML confusion,
anyway.  It just fits well in there, even if it was probably meant at
helping the H4E nature of the HTML project.  With the un-numerable add-ons,
extensions, extorsions and perversions of HTML that occurred since then,
I sometimes wonder if H4E just did not turn out into H4N in the long run
(just read `N' as `nobody', `Netscape', or whatever :-).

I understand Guido's arguments, yet my feeling is that if you allow for
confusion at such a basic level as the lexical level, the overall impact
is much more deep than one might guess at first, and confusion might
perniciously multiply in many more aspects all later works, all along.

I hardly believe that case-sensitiveness is that difficult to tame.  I easily
believe that studies might show that unaware people prefer insensitiveness,
yet modifying Python so it favours unawareness might be a whole disservice
to the overall programming community, even and especially if this community
gets extended to encompass everybody.

I fear renaming Python to something else, because such a split would
also split Guido's interests, while I'm very jealous to see the whole of
Guido's attention dedicated to _me_, and only _me_ :-).  I like Python,
partly because the language is driven by a leading spirit more than by
committees or compromises.  The drawback is that if the leader disappears,
the language dissolves...

-- 
François Pinard   http://www.iro.umontreal.ca/~pinard






More information about the Python-list mailing list