Joe Marshall scripsit:

> The reason is simple:  Case sensitivity breaks abstraction.
> 
> There are two concepts in play here.  The first is orthography, which
> is the way in which words are represented in writing.  The second is
> typography, which is the way in which letters are represented as
> visual glyphs.

Case sensitivity breaks abstraction (in the sense you mean) when it's
typographical, yes.  However, in some contexts it is orthographical.
This is rare in English, but commonplace in German, where there are many
plural nouns that are distinguished from the infinitives of verbs by
case alone.  (Yes, the distinction is lost at the beginning of a sentence;
no, this isn't mere homonymy.)

> In a chat room, ALL CAPS INDICATES SHOUTING.

In email, too.  But in German, at least as traditionally written,
ALL CAPS doesn't mean anything: the traditional method of emphasis
is  l e t t e r s p a c i n g.

> Elevating case, a typographic convention, to the same status as
> spelling, an orthorgraphic convention, breaks the abstraction between
> orthography and typography.

Try writing "Der mann ist groß" in a German class and see whether
it's your typography or your orthography that's criticized.
It will be the latter.

> Breaking an abstraction such as this will have benefits and costs.
> The benefits are easy to enumerate:

[sarcastic points omitted]

>   1.  It will be possible to use case to distinguish between homographs.

And homonyms, and mere coincidences.

>   3.  It will make it easier to map symbols to identifiers in other
>     computer languages.

True.

>   4.  It is easier to implement.

And clearer, and easier to understand for non-Latin-script programmers.

> On the other hand, these are the costs:
>
>   1.  It makes it impossible to use typographic conventions for
>        things other than symbol identity.

You just give up the notion that typography includes case.  Sometimes it
does, sometimes it doesn't; the safe position is to assume it doesn't.

>         This is a big drawback because there is a long history
>       of using typographic conventions in books and IDEs to
>       highlight keywords, separate comments, distinguish between
>       variables and compile-time constants, etc.

True typographic features serve those purposes better, with the
possible exception of the last (which is mostly used in case-sensitive
languages anyhow).

>   2.  Legacy code that used typography for things like templates
>        will no longer work.

A consequence of standards revision is that legacy code often
doesn't work any more.  Implementations are responsible for bridging
the gap, and generally do an adequate job of it.

>   3.  It will be much harder to describe code in situations where
>       there are no typographic cues (verbally, in typefaces that
>       do not have majuscule and minuscule variants)

Nobody uses such typefaces for code, or even running text: they are
solely for display.

>   4.  It will be harder to remember the names of identifiers.
>       (was that Define-Foo, Define-foo, or define-foo?)

This is overcome by using a standard convention for case.

-- 
Kill Gorgun!  Kill orc-folk!            John Cowan
No other words please Wild Men.         [email protected]
Drive away bad air and darkness         http://www.ccil.org/~cowan
with bright iron!   --Ghan-buri-Ghan    http://www.ccil.org/~cowan

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to