[REBOL] Re: About CONTINUATIONS
From: joel:neely:fedex at: 22-Feb-2002 6:36
Hello, Chaz,
Not that it changes your point...
chaz wrote:
> http://www.ai.mit.edu/~gregs/ll1-discuss-archive-html/msg00679.html
> This posting is apparently by Joe Marshall the man who put
> continuations in REBOL 1.0 in the first place...
> ... poster merely states ...
>
That post was anonymous. It's not clear to me that it was
from Joe Marshall, especially since the footnotes reference an
earlier post from Marshall which seems less flame-bait-like:
One cost of call-with-current-continuation is the hurdle it
introduces to acceptance of the language. People think
`oooh, cwcc is scary and bizarre, I don't want to hack scheme
because I need to understand cwcc in toto before I write
*anything*'.
(quoted in its entirety). Cruising back further Marshall
also opined:
I may be inviting the wrath of other schemers, but I don't
consider call-with-current-continuation to be essential
to scheme.
At any rate, I think your conclusion is absolutely correct:
> There may indeed be something of value with regards to REBOL
> and continuations, but speaking as an observer, only, I've
> seen little evidence of interest in continuations, in this
> community.
>
But it seems to me that your statement expresses a more general
truth about the way communities respond to unfamiliar ideas.
I've seen little evidence of interest in REBOL in my local
Linux community (despite having made two presentations on
REBOL to the local users' group myself).
However, at last night's meeting we had a rambling discussion
about wiki engines, programming, and other topics (including
.NET and even more bizarre things). When I hit www.rebol.org
and showed a wiki and a web server or two, each in only a
page or two of REBOL, one of the more experienced alpha-geek
types said (essentially), "Hmmm. I'm gonna have to look
at that."
It seems to me that most folks view learning something new as
a cost. The best way to motivate the learning is to show them
how they'll get a return on that investment. Unless/until
someone believes that there's something that (s)he can do
with REBOL more "cheaply" than with his/her current favorite
language, (s)he just won't bother.
Of course, it has to be something which (s)he actually *cares*
about doing, and the effort of learning REBOL is counted as
part of the cost comparison!
To return to your comment, as long as a language (e.g. REBOL)
has enough features (or is used for small/simple enough tasks)
that the benefits aren't perceived, most folks won't bother
even to learn all of what's *in* the language, much less ask
for capabilities that aren't there (especially highly abstract
ones such as continuations).
Finally, to tie this back to the "Worse Is Better" vs. "The
Right Thing" discussion...
Worse Is Better
drives language design and implementation
based on what features the users ask for, or are perceived as
willing to deal with. It would say, "Few users care about
that feature, so we'll take it out (or not bother to put it
in at all)."
The Right Thing
drives language design and implementation
based on clearly-thought-out conceptual models and goals. It
would say, "Few users understand that feature, so we need to
communicate to them how important/useful it is."
-jn-
--
; sub REBOL {}; sub head ($) {@_[0]}
REBOL []
# despam: func [e] [replace replace/all e ":" "." "#" "@"]
; sub despam {my ($e) = @_; $e =~ tr/:#/.@/; return "\n$e"}
print head reverse despam "moc:xedef#yleen:leoj" ;