Case Sensitivity and Learnability

Will Rose cwr at crash.cts.com
Mon Jan 31 00:08:49 EST 2000


Carel Fellinger <cfelling at iae.nl> wrote:
: Will Rose <cwr at crash.cts.com> wrote:
:> Tres Seaver <tseaver at starbase.neosoft.com> wrote:
:> : Thinking about the notion of case sensitivity as a barrier to CP4E, as
: ...
:> Your arguments are reasonable, but they are arguments against systems
:> which are both case-insensitive _and_ case-preserving.  The trouble with
:> CI/CP is that the compiler sees a different set of tokens from those seen
:> by the programmer, and it's sometimes difficult for the programmer to

: I don't think he is refering to this part of the problem. Swapping case at
: random *on its own* makes the source hard to read, let alone this confusing
: of what you see and what the compiler sees.

:> realise this.  If unskilled programmers find case too difficult or
:> distracting, the cure is to force a single case, either upper or lower. 
:> This could be done by an (optional?) compiler switch.

: this would make it impossible to import library modules that do depend on
: case distinction. Or would it be a per module switch, settable in the source?
: Now that will improve things:)

: I, for one, vehemently dislike case insensitive languages, as they force me
: to use ugly naming conventions like:

:   class tv_class: pass 
:   tv = tv_class()

: yack, instead of the much clearer:

:   class TV: pass
:   tv = TV()

: Admitted you have to know this convention of using case to distinct classes
: from variables:), but then in natural language we use this same trick to
: distinguish persons from objects like in Bill and bill. So how hard can it
: be for a newbie:) OTOH, I'm easily convinced by proper usability studies.

Matt Conway's Alice study argued that the use of this sort of convention
meant that the underlying concepts had to be explained to new programmers
so that they could follow it.  Since the aim of Alice was ease of use for
new programmers, non-case sensitivity (and possibly single case) seemed a
better bet.  (I disagree with this conclusion, btw.  I think it just stores
up trouble down the road.)


Will
cwr at crash.cts.com





More information about the Python-list mailing list