[REBOL] Re: R: Re: Correct Behaviour? Was False = 2 ????
From: jelinem1:nationwide at: 3-Jul-2001 10:07
<grabs the bloodied death-club and takes his turn again, beating the dead
horse's carcass>
Maybe this is not really "flogging the dead horse" (yet?), but I always
find it interesting when there are so many passionate (and very
well-articulated) arguments on such a "minor" topic. I'll throw in some
final replies, then let the chips fall where they may.
Feel free to ignore any comments which do not make sense.
> Regarding the numeric values of logic values, I do not care for the
values, but if I should decide I would choose zero for 'NULL. postive
values for true and negative for false.
What I've actually done in the past (that darn C language again) is: 0 for
FALSE, -1 for TRUE, and -2 for ERROR (pretty much used as "none" in REBOL,
before the existance of REBOL). The 0 and -1 were for compatability of
binary operations; I never performed arithmetic on or assumed a particular
value for ERROR.
> For me the issue is *not* The Language That Must Not Be Named, but
rather simplicity, consistency, models, and Mathematics.
Mathematics is included in programming to be sure, but I don't see
Mathematics as a superset of programming. Just as "art" can be described
in the terms of physics, all of programming can be described in the terms
of boolean logic (ie mathematics), but IMO there is more to programming
than this. So, I do not see any reason to choose programming
implementations based on mathematics (probably better stated as
numerics
).
> I think it was Volker who said "Plain English for Computers." Well as
somebody who speaks english / scots as my natural language "plain" is
hardly a term I would describe for the language.
I've heard this observation of the that phrase before. You are attempting
to interpret the phrase literally, in the context of other languages; it
wasn't meant to be interpreted that way. You are correct, English is a
messy language (just ask Larry Wall), but you are missing the intent of
the phrase. "Plain English" to me means "intuitively understood". Now
don't go telling me how people's intuitive understandings differ (esp
among cultures) ;)
> Logic values do have an implicit integer meaning, 0 false, and 1 true.
This is firmly accepted amongst electronics world.
Absolutely! This makes great sense in the world of electronics. But why,
in the abstract world of logic, should this relation be valid?
>> Zero is the OFFSET...
> Absolutely! My followup question would be... What number other than
zero could you rationally choose to represent the offset of the first
book? I would say there is none, regardless of the fact that there is
nothing preventing you from choosing any other number.
To restate from my first post on the topic, we are talking about two
different means of accessing list elements. The OFFSET, or INDEX, properly
(ie mathematically?) begins with zero. The POSITION, or COUNT begins at
one. Then the argument becomes: do we want to reference list items by
INDEX or POSITION? Are we mathematicians (INDEX) or, um, not (POSITION)?
After programming in C for a decade myself, I STILL had to mentally coerce
myself into remembering "array starts at zero, loop until less-than the
length...". This came from firm roots in BASIC as a first language. I
eventually came up with the terminological distinction of index vs
position, and found it very helpful in keeping things straight. I find it
very welcome to "come home again" to position-based access.
<passes the club, goes back to work>
- Michael