[REBOL] [why-REBOL] Pros and Cons / what's so special
From: greggirwin:mindspring at: 23-Jun-2004 14:12
Hi Mauro,
MF> Do you think rebol can provide the same functionalities with less
MF> resources?
Yes. Carl mentioned on the View 1.3 project, after reviewing some
internals, that the View graphics engine is like a miser trying to
save pennies, while VID is like the government spending millions.
Base, for example, doesn't have a very large memory footprint (~600K).
With proper docs about how things work at the lower levels, and how to
avoid waste, I imagine we could create some much more efficient UI
dialects and toolkits. Now, efficiency has multiple meanings. I don't
know that we could create one that takes a little code as VID, or is
as flexible, but it would be something different for those that want
it.
MF> Can you think you can make a tool like Opera/Mozilla with rebol?
I can imagine making an effective and efficient browser, but I wouldn't
try to emulate current browsers in the process. i.e. I might not try to
build a standards-compliant HTML rendering engine in REBOL.
MF> Yet, you can blame them for being huge and somewhat slow, but they win
MF> hands down when speaking about features and easiness of use.
My problem with Mozilla (and I do try to use it as much as I can) is
that when I minimize it for some time, it takes forrrr-ever to wake
back up. I like a lot of other things about it, but that single fault
bugs the heck out of me.
MF> Maybe I'll get flamed here, but... I'm just realistic.
OK, I'll flame you. :)
MF> Rebol is a good scripting tool. But it is just a simple tool.
It *is* a simple tool; that's one of its greatest strengths. It is
much more than "*just* a simple tool" though, IMO. Even if it *were*
just a simple tool, simple tools are often the best kind.
MF> Whatever you say about rebol can be said about every other scripting
MF> language.
This argument is just too easy to counter; if I may list just a few
things that differentiate REBOL from other languages:
PARSE (and all that it implies)
protocols
datatypes
cross-platform GUI system
human friendly syntax
reasonable size
code/data duality
first class language capabilities
console
HELP and SOURCE functions
comes pre-built from the factory
(and you can't say "there are libraries..." for other languages,
because whether a library exists right now for REBOL doesn't say
anything about the language)
Now, some languages may have one or more of those features, but show
me another one that has them all (or even more than a couple of them).
If you look at *just that list* of items, those things are so
incredibly important to me that REBOL has, for better or worse,
ruined
a lot of other languages for me. I'm not blind to its faults,
but none of them are show-stoppers IMO. The tools are there to do
almost anything we need.
Also, don't forget that REBOL isn't a scripting language, nor is it a
programming language (though their site uses that term now, for
marketing reasons I presume); it is a messaging language. While it can
compete with other programming and scripting languages (so much so
that we're having this discussion :), they can't compete with it on
its turf: the semantic exchange of information between people and
machines.
MF> And some of them are much more "advanced" than rebol (some of
MF> them have modularity capacities and can be fully integrated into the
MF> native OS).
I'm glad you quoted "advanced". :) HTML is one of the least advanced
languages I've ever seen, but look what's been done with it. RT has
mentioned that module support may be released someday, but REBOL
isn't, at this time, targeted at building large systems that would
benefit most from that.
OS integration will add size and complexity. I don't envy RT fighting
the desire to add these things to appease people in the short term.
Holding fast to simplicity isn't easy.
REBOL may not be perfect, but I'm not letting its flaws get in the way
of doing great things (or trying) with it.
(I hope that flame wasn't too harsh :)
-- Gregg