[REBOL] Re: Scope? Any advice would be appreciated.
From: rebol:techscribe at: 29-Jan-2001 22:06
> I have always been interested in using higher-level
> languages to be productive. My career has progressed
> from dBase->Clarion->Gupta SqlWindows->Forte --->Java
> and Rebol. All of the above, except Java have a small
> market share these days. I just hope Rebol will stay
> around long enough for ME to get tired of it -- and
> that may be a long time :)
A few comments:
1. SQlWindows is not a programming language. It is a product - a
database management system - that happens to use SQL. The DBMS product
may not have a major market share, but REBOL is not a dbms product, it's
a programming language. So we should be comparing it to SqlWindow's
programming language. And SQL is quite alive and kicking last time I
True, dBase includes its own programming language, as does Clarion (so
you never programmed in Paradox, huh?). But in both cases we are again
talking about programming languages that are specific to a DBMS product.
So the competition here is about DBMS products, not about programming
languages. In other words dBase and Clarion (and SqlWindows) lost the
database management system competition, not the programming language
competition (of course, after all Oracle is also SQL based).
As for Forte, I'm not quite sure which Forte you are referring to. I am
aware of a Forte Newsgroup reader, and there's a Fort Java IDE. Right,
there's also a theorem prover called Forte. You must mean something
2. As for the specific REBOL feature we were investigating: statically
scoped local variables have been part of C for roughly thirty years and
have happily made it into ANSI C++. That's pretty mainstream.
The only thing that a C/C++ programmer has to realize is that a (REBOL)
word that references a literal block (under all circumstances) acts
similar to a (C) local variable that is a pointer (word) referencing a
locally declared static buffer (or a globally declared buffer) (== REBOL
literal block). Even though you may reassign the pointer to the buffer
each time you enter the function, if that buffer was declared static (or
the buffer is global), then the buffer will contain whatever was
previously put into it during the previous evaluation of the C function.
There's really nothing to it.
My argument then is that if REBOL's success depends on the acceptance of
REBOL's literal block behavior, then, given that mainstream languages C
and C++ have been supporting an equivalent feature for quite a few
years, REBOL is quite safe.
I don't think that REBOL is weird, and I doubt that the weirdness of a
language is a guarantee for its success. But Tcl, Perl, and Visual Basic
still seem to be doing quite well ...