[REBOL] Re: REBOL IOS, many Q's. :)
From: greggirwin:mindspring at: 30-Apr-2002 22:52
Since your signature contained a quote from The Princess Bride, I feel
compelled to reply. :)
<< I've already signed up and got my evaluation User ID. I'll probably get
everything set up this Saturday. >>
Should take you about 5 minutes.
<< The problem for me is that I'm still not sure as to exactly what REBOL
IOS is. Is it an OS? Is it a suite of applications? Or is it both? I
assume the answer is both. >>
It is both; it is neither; and it is much much more. Cryptic enough for you?
Simply put, it is a client side piece, called Link, that connects to the
server piece (called Serve, just as you would expect). Link appears as a
window, called the Desktop, that is your main point of navigation. It's very
much like the View desktop if you've played with that. On the desktop are a
number of little applications (reblets) along with folders that contain
files, other reblets, etc. None of this is terribly exciting from its
description, I know.
What's exciting is the first time you fire up Link and it synchronizes you
with everything that's published on the server quickly and reliably. Now you
can publicly Conference, privately Message, submit feedback, browse the
Expert FAQ list, see Who is on line, see what News has been posted, see if
anything interesting is happening on the shared Calendar, check out what
others have published, etc. Hmmm, still not very exciting.
So, not being excited by this so far, you decide to get a second opinion.
You fly to Paris and unpack your Link client from the single floppy you
brought with you. You connect and, BOOM, everything is there, just as if you
were at home.
I wrote a little utility and published it on IOS. One day, Messenger popped
up and someone said "Can I add a couple features to it?" I said that was no
problem, made sure I had published the latest version I had, and a short
time later, a new version appeared with their changes. Messenger came up
again and they said "Hmmm, I'm seeing a bug that causes..." I opened the
code they had published, fixed the bug, and republished it (after testing it
of course :). If I didn't like the end result, I'd just pull up History for
the script and republish an eariler version.
<< Also, since I'm responsible for the movement of data to and from our ODS
(Operation Data Store), I'm curious about REBEL IOS's strengths in this
department. Which is why I asked the question that I did. >>
IOS is built on REBOL, the language, and REBOL is a "messaging language".
Eventually, as the clouds are lifted from our eyes, we'll begin to
understand what that really means to us as developers. In the meantime, it's
a very net-aware language with ties to a few interop mechanisms and the
ability to create new ones without much difficulty.
<< I've been asked by our "Technology Architect" to investigate REBOL's CGI
capabilities, as well. So I'm hoping a few members on this list can clue
me in on them. >>
Others will have to speak to that, as it's not my area, but I've see lots of
great things done with it. Sometimes there's an initial setup hurdle or two
it seems, just because it's not mainstream, but I haven't seen any horror
<< 1) How well does REBOL manage libraries across disparate systems,
keeping them synchronous. I assume "very well". :) >>
If you mean managing REBOL scripts, general purpose or otherwise, that's
very general and could be done a number of ways. If you're using IOS, it's
seamless. You publish. It syncs.
<< 2) How does it manage script complexity, where info/data is dependent on
code (I.e. Perl, C, etc...)? >>
I'm not sure exactly what you mean, but REBOL is very different in how the
code/data line is not just blurred, but can disappear entirely. You could
write a lot of solutions in REBOL very much like you would in other
languages and, while a little different syntactically, there wouldn't be
much overall difference. When you stop thinking in terms of how you would do
it in other languages, and just think of how you *want* to do it, volumes of
code can disappear and the remaining pieces communicate more clearly. The
REBOL code I write is totally different from what I would write in other
languages, and I still haven't let go of "the old ways" as much as I want
<< 3) Can it move data without XML, or is it dependent on it? >>
There are some XML libs, and some built in support for XML, but REBOL's
native format is all it needs.
I hope I don't sound too evangelistic. I just love working with this