[REBOL] Re: REBOL-SIMPLE dialect
From: greg:schofield:iinet:au at: 21-Aug-2008 7:42
Max thankyou for your reply.
I have no doubt about learning REBOL myself and properly (in the end). Just a small dipping
into it proved its worth.
I am not convinced I am right in this and your response is a valid one ( I do wish there
was more explanation/documentation about the pecularities of REBOL at the conceptual
level. I am sure I have read before a descritption of it as an expression language, but
in a practical sense it still has not gelled - I keep falling into command/function syntax
I suppose, on reflection, what I am getting may have little to do with programming languages
per se, but people gaining more control over their electronic environment.
REBOL has this control feature in spades. That is what exicites me about it. But my view
is that thise who need to get more control over their computer environment fall into
1) Natural or (self)taught programmers.
2) Scriptors, who in many regards could be seen as primitive versions of the former,
or extremely developed users.
3) Experienced users who understand things, but never really dip much further into things.
4) Oridinary users, who range from niave step by step program users to very proficient
application operators who use what is prepared for them, but often have, due to their
experience, very clear ideas on how things should be done to make things easier and more
REBOL very much suits 1 & 2.
However,category 3 for me is the vital one, as they are the natural conduits for the
experience of those that could be classed as 4.
For me who is really in 2. All I need is a little time and experience with REBOL, I have
never doubted my ability to get my head around it eventually. At the moment, because
of other priorities I just made a conscious decision to wait on R3 and then get into
it properly. It parallels my decision to not learn C years ago; an estimate of time and
labour required to become proficient, the level of foreknowledge needed to achieve some
of things I had in mind, meant an investment in dedicated time that I simply did not
Many people are in the same position. But it is more than that. In a sense this is not
about REBOL or any other language, nor is it about what people set as personal priorities.
It is more about shifting power downwards through the categories of comkputer usuage.
My view is that applying computers to real world tasks is being constrained by a top
heavy approach where category 1 more or less set the parameters for 2,3 and 4.
What I believe is that 4, the humble user is a very important person. They are the ones
simply using computers to get something done. Because they can do very little else except
use what they have in front of them, they have a resevior of needs that cannot be expressed.
Category 3, the more savvy user, because they can manipulate the programming environment,
develop all sorts of skills, that 4 calls upon when problems crop up.
Category 3, the skilled computer user, is: A) locked out of most application programs.
B) has no real way to preserve what they know or change the problems they see. C) Can
only perform tricks, D) spends a lot of time performing the same tricks over and over
Scriptors (2) are cut out of most applications like 3 (this is changing but very slowly),
they can occassionally add a script to do something otherwise they are more like 3.
Shifting the power downwards, the power to actually conrtrol what happens within the
computer, to evolve tasks etc to be easier, more flexible, more effieicnt in use (which
is not the same as being efficient code). Needs a media of expression.
REBOL, has the power, and it has dialects and combining these two has social implications.
For the most part category 3 and 2 (by extension) are the social nexus between 4 and
1. If that makes sense - they are positioned to turn whatever 1 produces into something
that really works well for 4, enabling ordinary users to express the changes they require
and 3 amd 2 to make things happen.
On this basis, I hope people see why REBOL could be vitally important in lubricating
such a shift in computer usuage. It has the power, to eliminate the big-bloaty fixed
application, its environment could go well beyond mere "custermorization" and running
"macros". But there is a kanker also, a side effect of REBOL not being all that easy.
More often than not the problem of adapting computers to doing stuff, as a productive
and not a technical problem. Consists in just two things:
i) I have some data that I want to do X with, do X and give it back (best served with
a finction rich environment).
ii) I want data added in a sequence, a flow problem - best suited to a GUI language that
has simple conditional controls. IF a = X then b = Y type thing.
i and ii require a language that essentially allows people to focus on immediate problem
solving, not writing complex scripts or indeed being very competant scriptors.
A REBOL dialect seems the perfect bridge, but it can't be REBOL as such, just a slightly
REBOLish form of a procedual language (if that is the right description). REXX had the
right mixture for doing this (more or less) but has progressively become over-stretched
(ObjectREXX) like Python.
Unlike PYTHON which is a do more by adding more language simplicity is overcome by increasing
arcane syntax (to get special things done) and increasinging unreadablity - it falls
between the chairs, so to speak.
REBOL-simple, is just that, simple. To get more from it you go deeper (REBOL proper)
keeping the simple bit simple, but extending it in a purely additive way.
To me this works, not because REBOL needs simplification (it doesn't) but that categories
of users need simplicity in order to express control over their environment and shift
things down from the top.
Sorry for the long rant. Essentially what I am saying has little to do with REBOL as
such, but how REBOL might act to move something else along -- giving users more pratical
power over what their computers are doing and how.
--- Message Received ---
From: Maxim Olivier-Adlhoch <moliad-gmail.com>
Date: Tue, 19 Aug 2008 20:06:52 -0400