Case-sensitivity: why -- or why not? (was Re: Damnation!)
Fredrik Lundh
effbot at telia.com
Sun May 21 07:44:08 EDT 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