[REBOL] Re: [why-REBOL] Pros and Cons / what's so special
From: bry:itnisk at: 24-Jun-2004 10:01
MF> Whatever you say about rebol can be said about every other scripting
MF> language.
Is this a variant of the old canard, all programming languages are the same?
> PARSE (and all that it implies)
I'm curious what do you consider to be an 'implication' of Parse? When I think
of implication in the context of a programming language I do not think of
implied uses for parts of the language, but implied ideas about the problem
domains to which the language is applied and implications about the nature of
programming itself.
> protocols
this is something that I think libraries, if included in the distribution of
the
language, can give equivalency to rebol's.
that I might have to do an import statement to use that library doesn't really
bother me.
> cross-platform GUI system
benefit
> human friendly syntax
this is a mirage, to do simple things yeah like send [bry--itnisk--com] 'hi', my
mother can use rebol, but even when it gets to the point of an automated
mailing
list the human friendly syntax is not going to be simple enough for her. At
that
point it means the human friendly syntax is just another programming language,
and if that's the case it can be in the way of understanding for someone who is
used to languages in the C family for example. The lack of true variables etc.
all these things can stand in the way of understanding. As an example yesterday
I had to debug some php, I've only done one major php project in my life,
translating from a large asp application, and that was a long time ago. I do
not
know the language at all, however I know the family of languages, I saw fairly
quickly that there were some things that were likely to be syntactical errors,
such as something like this do if(...){}
I thought, what is that do doing all alone there, is that allowed? well of
course it wasn't, it should have been a do{}while();
there were some other syntactical errors regarding concatenation, and one
logical error.
you tell someone who isn't used to Rebol about how understandable it is, with
its human friendly syntax, and then give them some clever code, for example
that
article you did on O'reilly where I remember you said you did some stuff a
particular way because people would be thinkking "WOW, how did he do that" well
all that is an argument against the human friendly syntax.
Currently I'm learning J, it has a very human unfriendly syntax. I don't really
find that any more of a problem.
> reasonable size
do you mean reasonable size in the size of the language implementation, don't
know if that matters for most things, if you mean reasonable size in the
context
of the amount of code one has to write to do things yes this is always a
benefit.
> console
> HELP and SOURCE functions
> comes pre-built from the factory
lots of languages have these last three. Does comes pre-built from the factory
have to do with there being only one implementer? There can be Lisps that come
pre-built from the factory.
> 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.
> 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.
I don't know exactly what you mean by semantic exchange here, it sounds like
some more human friendly syntax, when I think of messaging language I think of
Erlang or E. Languages with support for concurrency, languages with support for
contracts between senders and receivers, in which a message between processes
itself is a datatype. I don't know, I just use Rebol to do
stuff like, get all my emails, filter them with simple rules, change them to
xml, save to folder x, or upload following set of files. Automated scripting
stuff that I think it is well suited for because it can be run cross-platform.
I
do see stuff get built in Rebol all the time that I think is cool stuff, but
hell I see stuff that gets built in all languages all the time that I think is
cool stuff. I haven't really seen anything built in rebol, other than the async
protocol, that has given me reason to reconsider the usages I think it most
appropriate for. However maybe this is a difficult thing to do.