Case insensitivity

Mark 'Kamikaze' Hughes kamikaze at kuoi.asui.uidaho.edu
Fri Jul 20 17:43:50 EDT 2001


Thu, 19 Jul 2001 20:30:15 GMT in <cpvgkofyru.fsf at cj20424-a.reston1.va.home.com>,
Guido van Rossum <guido at python.org> spake:
> Unfortunately there isn't a lot of scientific evidence to help decide
> this.  There may be old reports that case-sensitivity hurts beginners.
> I know that many other designers of programming languages aimed at
> non-programmers have consciously choses case-insensitivity
> (e.g. hypertalk, REXX).

  I used to program in REXX, and you very quickly develop the habit of
working entirely in lowercase so you don't mix up identifiers (you only
try to debug that problem *once*, because it's so painful).  Other than
that, it didn't interfere with development at all.

  In software consulting, I also wrote a lot of code that integrated
with OS/2 DLLs; you could write a library of common low-level tools and
then use a REXX program to control everything.  I did a lot of contracts
in a few thousand lines of REXX and my standard C DLLs.

  In my hobby time, I wrote multi-thousand-line REXX applications like
<http://kuoi.asui.uidaho.edu/~kamikaze/nwo.html> - the standard
CircleMUD world file format is just unspeakably nasty (bitfields!  Magic
numbers!  Augh!), so I wrote a parser for a nicer file format.

  While it's anecdotal evidence, I'd say case-insensitive coding is
mostly harmless at worst, and *possibly* beneficial, even to
professional programmers.

> 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.

  A directive at the top of the module would probably satisfy everyone.
The beginners would have to type one line of "nonsense computer stuff",
and then could work case-insensitively.  Current code, lacking that
directive, would still work case-sensitively.

-- 
 <a href="http://kuoi.asui.uidaho.edu/~kamikaze/"> Mark Hughes </a>
"I will tell you things that will make you laugh and uncomfortable and really
fucking angry and that no one else is telling you.  What I won't do is bullshit
you.  I'm here for the same thing you are.  The Truth." -Transmetropolitan #39



More information about the Python-list mailing list