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

Fredrik Lundh effbot at telia.com
Sun May 21 13:44:08 CEST 2000


Robert Citek <rwcitek at uci.edu> wrote:> 
> >Did he try a Python that was case-insensitive?
> 
> Excellent point.  Guido, you are assuming that when you make Python
> case-insensitive the students will have an easier time learning Python.  Is
> this assumption true?  The answer may depend on how "case-insensitive" is
> implemented.  Has anyone tested this assumption (perhaps with another
> language)?

Guido's not assuming anything; he has read research papers and talked
to the researchers, just like he did when he "stole" a lot of unconventional
ideas from ABC.

so instead of assuming that people don't know what they're talking about,
how about reading up on the Alice project yourself? I suggest starting with
Matt Conway's dissertation, available from:

    http://www.alice.org/advancedtutorial/ConwayDissertation.PDF

some relevant quotes:

    "During the course of development, we tried very hard not to
    modify the Python language. /.../ Unfortunately, we were ulti-
    mately forced to abandon pure Python when testing revealed
    two flaws in the language that made Python unusable by our
    target audience: integer math and case sensitivity."

    "Python is case sensitive. While we, as programmers, were com-
    fortable with this language feature, our user community suffered
    much confusion over it. At least 85% of users who were observed
    using the Alice tutorial made a case error at some point during the
    experience. While explaining the case rule was simple enough
    ("upper and lower case mean different things to Alice"), this was
    not sufficient to instill a "case aware" sense in our users.  Of the
    users who had problems with case, most continued to type case-
    incorrect tokens in their programs for a short period. Coming to
    terms with case sensitivity is a difficult skill for many to learn, a
    fact that can often be lost on experienced programmers."

    "I note with some embarrassment that Hypercard, Pascal and LOGO
    were designed for novice or infrequent programmers and each was
    case insensitive. It may be that Microsoft's Visual Basic programming
    environment provides the best of both worlds by following the user
    to type in a case-insensitive way, while the programming environment
    applies the proper case to the program text on behalf of the user
    whenever possible."

</F>




More information about the Python-list mailing list