[REBOL] What language am I looking for?
From: kenneth::nwinet::com at: 12-May-2001 21:13
I've spent too much money and a large percentage of time in the past quarter
century (since that old HP2000F time-shared BASIC, back in high school)
looking for a language that would meet my needs. Although I've used dozens
of different languages over the years, I have always rejected the idea that
I couldn't find one with both the depth and breadth to do what I ask of it.
So the quest for the perfect language, described in the first section of the
forward in the book, "Rebol: The Official Guide," strikes close to home for
me as well as for others I'm sure. It doesn't need to be perfect either,
just close enough that I can enjoy working with it without always bumping
into it's limitations. Anyway, while I admit I haven't given it the chance
yet, my intuition tells me Rebol is not the end of my search, but I'm
willing to be convinced otherwise. So I would seriously and sincerely
appreciate whatever comments this group has to offer.
I'm not interested in language as a religion. I have two uses for a
language, to get work done, and for recreation. When I can't actually get
work done with it, I tend to lose interest in it as a hobby.
Before I mention the things that bother me about Rebol, it might help if I
say what has drawn me to it. This is my second look at Rebol, I downloaded
it a few years back. I didn't stick with it then because the timing just
wasn't right. I was involved in a steep development phase of a project and
couldn't afford the distraction. But I didn't forget it was there and one
day I typed in www.rebol.com to see if the page had gone away (as I'd seen
with other languages in the past.)
It's the little things that count, like using square brackets to begin and
end a block.  seems so obviously right to me. It may seem odd to some,
and I really wouldn't want to argue the position, but I am more impressed by
that than all the cool one liners I've seen (APL had a lot of great one
liners, but where is it today?)
The language needs to fade into the background when programming and that
only happens when the syntax is wisely chosen.
If your shocked at that, my response would be, "Hey, I'm a programmer.
Within reason, as long as the language gives me the tools to express my
thoughts; I don't care if it's done in one line or five. I'm going to
reduce it to one word anyway." Please, no arrows, I understand the value of
a succinct expression. I just don't put it as the highest item on my list.
The highest item on MY list is, can I do that? (With a minimum of grief.)
I've tasted the power of machine language but I understand why we don't all
use it. Safety isn't the issue, productivity and hardware abstraction are
the issues. Safety is something that should be handled at the operating
system level, that it isn't is appalling.
I've followed the discussion of scope with regard to Rebol with some
concern. The idea that variables that are all static and global does not
give me the warm fuzzies (or that you have to declare variables local in a
function. Just the act of declaring them should make them local.)
Another thing that bothers me is that redefining a word should be explicit.
If I have to remember every word in an application before adding another
then that is placing a burden on me that computers were made to carry. It
would be fine if there was an "Option Explicit", but protect and unprotect
misses the point.
I'm a VB programmer these days because that's the language the project was
written in when I joined my present employer. We do have to use C where
it's the only option, although I personally haven't touched the language in
years. The project has about 700,000 lines and hits a database with over a
hundred tables. I need to be able to write this kind of application in my
language of choice.
I need to be able to compile my application. That means should I choose
Rebol, I'm going to need to pony up the $800 for the unlimited license.
Anything less is to admit that Rebol is a hobbyists toy. I need to be able
to compile for two or three reasons; for ease of distribution, to protect my
source (you'd be surprised at my position on open source but now's not the
time for that discussion) and also performance. Although I take an
engineers view of performance which is that as long as it makes spec. it's
good enough (usually, it's not or the spec. lacks a certain imagination for
how hard an application is going to be hit.)
While I'm impressed with the self documenting features of Rebol, what
happens to all that documentation in a compile? Is it contained within?
The compiler should remove it.
Which brings us back to that highest item on my list. As an example, if the
layout dialect didn't exist, could I write it myself in Rebol or would I
have to go begging RT to include the feature in a new version? What other
things do I need that are not included? How do I create a new widget that
isn't already provided for me?
Please don't direct me to some other favorite language or yours, I'm asking
about Rebol. I've already got my copy of Delphi 5 Pro that I paid for and
I don't post much, which considering how long winded and opinionated I am is
probably a good thing! ;-)
But you do have my grateful acknowledgement for any of your replies.