[Edu-sig] On case sensitivity

David Scherer dscherer@cmu.edu
Sat, 5 Feb 2000 11:05:12 -0500

> 1. Perhaps the language doesn't need to be changed.  Guido talked about
>    putting case-desensitization magic in the programming
> environment, not in
>    the language.  If that can be done well enough, then that can be the
>    default there (with perhaps a flag to disable it).  Most of us old-line
>    programmer types will probably continue to use Emacs, vi, Joe,
> BBEdit or
>    something else to edit our files anyway.

We all agree that changing the environment is much easier.  There are some
subtle problems related to names being dynamically defined by different
methods.  Hopefully they can be worked out.  GvR is probably the right
person to be working on it.

> The upshot
>    of this is that people will gradually get more comfortable
> with the idea
>    and "SHOUT", "Shout" "*shout*", and "shout" mean subtly
> different things
>    depending on context.

They key word here is "subtly".  The difference between the following two
programs is not subtle:

while t<5

while t<5

See one of my previous posts for a proposed way of addressing this problem.

>       s/[cC]ockroaches/Windows/
>       s/humans/Unix/
>       <wink>


> 4. And later in the same message, there is an apparent contradiction with
>    the cockroach statement:
>       The needs of the (10M?) programmers in the world are vastly
>       by the needs of the six billion normal people.  They are always
>       and we are always wrong.  Randy and Guido are 110% right about that.

This is not a contradiction.

Numbers do not imply value.  They do imply conversion cost: either each
non-programmer or each programmer and each existing program need to change.

Windows users are more numerous than Unix users, so converting all of the
Windows users to Unix would involve an enormous cost.  Economics guarantees
that this will not happen unless an equally enormous benefit is available,
or the distance from being a Windows user to being a Unix user is reduced.

We have a goal: get everyone writing computer programs.

If we want it to happen, we must keep the overall costs as low as possible.
That involves minimizing the distance that non-programmers need to travel.

There are no value judgements involved.  If we believed that teaching
case-sensitive programming would be much more beneficial than teaching
programming in a case-insensitive language, then we could weigh that against
the conversion cost.  In this case, though, I don't think there's any real
advantage to case sensitivity for anyone; there's just a large conversion

>    The more serious point is that majority rule accepted blindly can have
>    substantial negative consequences for minority members of the
>    It frustrates me to no end to see people release software that *only*
>    runs on Windows, even though I know that "majority rules" or "the VCs
>    have never heard of Unix".

How much open-source software is there that doesn't run on Unix?

Python is open source.  I assume that most of the tools developed by the
people in this SIG will be open source.  Real Programmers (tm) will always
be able to get the programming environment they want, because the source is
available and they know how to change it.  The only thing this SIG can
possibly take away from the existing Python community is a little of Guido's

The goal is to place that power in the hands of everyone else!