For Programmers: Free Programming Magazines  


Home > Archive > Scheme > May 2005 > Re: swiss army knife









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Re: swiss army knife
Matthias Blume

2005-05-02, 4:00 pm

Anton van Straaten <anton@appsolutions.com> writes:

This line of "reasoning" can be used to defend all kinds of pointless
non-distinctions. For example, it is also hard to see the point of
distinguishing between + and PLUS. Or take any other word where
people tend to have trouble spelling it correctly. Would it make
sense to have a programming language where "potato" and "potatoe"
refer to the same symbol? :-)

> The main argument for case-sensitivity seems to be an implementation
> argument, i.e. it's easier to implement sensitivity. That seems to
> have real force in the Unicode case. If it weren't for that, it'd be
> hard to see the point of case-sensitivity, especially in variable
> names.


My main argument for case-sensitivity has *never* been an
implementation argument. The implementation -- before Unicode -- used
to be trivial. My argument is that there is no good argument in favor
of case-insensitivity other than that some people apparently think
that "A" and "a" are the same thing.

Brian Harvey

2005-05-02, 4:00 pm

Matthias Blume <find@my.address.elsewhere> writes:
> My argument is that there is no good argument in favor
>of case-insensitivity other than that some people apparently think
>that "A" and "a" are the same thing.


In English, as in many other languages, we capitalize the first word of each
sentence. The word doesn't change meaning because of this change. There are
very few cases in natural language in which two words have the same spelling
except for capitalization, but have different meanings -- and those rare cases
are problematic, leading to either misunderstanding or circumlocution. For
example, consider "democratic" and "Democratic"; it's always a little difficult
to explain that someone might want a democratic government but not a Democratic
one, especially when speaking rather than writing.

And speaking of speaking, one of the minor advantages of Scheme over C is that
you can read a Scheme program out loud without confusion among the variable
foo, its type Foo, and the FOO flag bit. (And, by the way, for this reason I
try *not* to name a procedure PLUS -- I prefer SUM or ADD.)
Nils M Holm

2005-05-04, 4:00 pm

Matthias Blume <find@my.address.elsewhere> wrote:
> Probably not. This point is moot, though, as there is no programming
> language I know of that let's you use typography.


Have a look at ColorForth.

>
> Sure. But so what?


Symbols in programming languages are names for objects like variables
and procedures. They are used in the same way as names are used to
identify persons. If someone writes you a letter and spells your name
in all capitals, you would still expect the letter to arrive, would
you not?

> Weg
>
> -- path, narrow road (a noun)
>
> weg
>
> -- away, gone, not here (an adverb)


You do not even need different capitalization to create such
ambiguity. There are lots of words with different meaning and
identical capitalization, like the english 'spring' or the
german 'Birne'. Case-sensitivity does not resolve such issues.

Nils

--
Nils M Holm <nmh@despammed.com> http://www.holm-und-jeschag.de/nils/
Symbolic Computing - an Introduction to Pure LISP: http://www.t3x.org/scipl/
Ulrich Hobelmann

2005-05-04, 8:59 pm

Matthias Blume wrote:
> Nils M Holm <nmh@despammed.com> writes:
>
>
>
>
> That's why I used the phrase "language I know of".


Immediate words (macro-like functions) have other colors than
other words. Think of Lisp with quotation done by setting the
color of part of the code :D

--
No man is good enough to govern another man without that other's
consent. -- Abraham Lincoln
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com