[REBOL] Re: link to background on Rebol language design?
From: joel:neely:fedex at: 20-Aug-2003 9:24
Hi, Bryan,
bryan wrote:
> This is nice, but if I have to communicate with someone not familiar
> with Rebol at all it seems most likely to me that they will see the
> Rebol Word as a variable, in fact, I've recently had that situation, in
> order not to complicate matters too much it seems easiest to say
> something like: Rebol calls variables words, or something similar.
>
I'd agree if you'd allow me to insert one of the phrases "initially"
or "during preliminary conversations" somewhere in the above. It's
OK to have training wheels on the bicycle at first, but at some point
they have to come off or the rider can't become a competent cyclist.
Think, by way of analogy, of how to describe a REBOL block to someone
who only knows an Algol-like language (Pascal, c, c++, Java, ...);
- as a segment of code within a control structure
d: b * b - (4 * a * c)
if d < 0 [
print "The roots are imaginary!"
]
- as an anonymous procedure with no arguments and no locals
trace: [prin "Still alive: " print cycle-counter]
...
do trace
- as a variable-length argument list to a function
print ["Still alive: " cycle-counter]
- as an array literal
scores: [95 84 99 76 89 88 92 100]
- and so on...
If we *really* understand REBOL blocks, we know that it is not accurate
to say that a block *is* any of those things. However, when talking to
a beginner, one could say that -- for any of the specific cases above --
that we are using a block *as* something they're familiar with.
Likewise, one can use a WORD! *as* a variable, but as long as one
continues to think that a WORD! *is* a variable, there will be other
things about REBOL that will be difficult or impossible to understand.
Who was it who said,
"Dealing with a C programmer is like working with an alcoholic;
you have to start with him where he is, but you hope not to
leave him there!"
;-)
-jn-
--
----------------------------------------------------------------------
Joel Neely joelDOTneelyATfedexDOTcom 901-263-4446
Counting lines of code is to software development as
counting bricks is to urban development.