Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search

[REBOL] Re: Scope? Any advice would be appreciated.

From: rebol:techscribe at: 29-Jan-2001 22:06

Hi David,
> 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 checked ;-). 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 else? 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 ... Take Care, Elan