Considering migrating to Python from Visual Basic 6 for engineering applications

Chris Angelico rosuav at gmail.com
Fri Feb 19 11:49:44 EST 2016


On Sat, Feb 20, 2016 at 3:32 AM, BartC <bc at freeuk.com> wrote:
> In real life, names generally are not case sensitive. I can call myself bart
> or Bart or BART or any of the remaining 13 combinations, without anyone
> getting confused (but they might be puzzled as to why I'd choose to spell it
> bArT).

There are other conflations, too. You might transliterate your name
into another script, or represent it using only sounds found in a
particular language, to introduce yourself in a completely different
culture. Would you expect a computer to recognize all those as
identical, too? Should the computer treat "Dad" and "John" as the same
variable, since my father's name happens to be John? (Or should it
treat them as distinct, because the _computer's_ father wasn't named
John?)

> And in speech there is no distinction between case (so anyone using
> voice-to-text is going to have trouble with writing code).

That's true of all sorts of other spoken parallels too, though. If
you're using speech-to-text to enter code, you will have to cope with
those, and it's no extra complexity to cope with mixed case.

> Even in computing, many kinds of names are case-insensitive, emails and
> website names for example. I think even MS would struggle to register all
> the 32768 upper and lower case combinations of www dot microsoft dot com. It
> becomes nonsensical.

DNS is a bit of a special case. It has a bizarre mess of ASCII-only
and full-Unicode naming, such that it really shouldn't be held up as a
model for programming language identifiers.

> It's just a popular fad in programming languages, probably originating in C
> and/or Unix, and doing a good job of infesting everything else.

Go ask a German how ß should be capitalized. Then ask if it's
identical to "ss", which also uppercases to "SS". Now, how do you feel
about that whole case sensitivity thing? And is "Ö" equivalent to "O"
or to "OE" or neither? (Answer: It depends on context.)

Everyone I've heard arguing in favour of programming language case
insensitivity has assumed ASCII-only (and English-only). It's 2016.
Time to stop making that assumption.

ChrisA


More information about the Python-list mailing list