Following is what Larry wall talking about REBOL
compared with perl.I want to know what you think
about it.


------------------------------------------------------------------------------

This message was forwarded to you from Deja.com by [EMAIL PROTECTED]
Deja.com offers free consumer information, including ratings and reviews on
thousands of products and services.  Before you buy, visit 
http://www.deja.com/
------------------------------------------------------------------------------

(beginning of original message)

Subject: Re: Rebol (was Re: Perl's version number is way too low)
From: [EMAIL PROTECTED] (Larry Wall)
Date: 1998/10/30
Newsgroups: perl.porters-gw
Well, it was actually reading up on REBOL that reminded me I wanted tuples.
(REBOLs tuples are essentially a representation of an IP address.  That is,
the numbers are limited to 0..255, and you can only have four of them.

The quote in Microtimes was just what I could say off the top of my
head while reading the www.rebol.page for the first time.  In other
words, I was just winging it.  Having studied up since then, here's
what I really think (which I sent in answer to a query from Germany).

Larry

: Now my questions: Have you looked at REBOL yet?

The first time I was asked, I was reading the web page on the fly while
commenting on the phone.  Needless to say, I mostly mumbled vague
generalities.  :-)

But I've read all the available documentation since then, and
played with it a little.

: What do you think about it?

REBOL is essentially a de-parenthesized LISP variant with builtin
support for some handy datatypes such as dates and email addresses.  As
a LISP-like language, it conflates program and data in a way that some
folks will find confusing.  Without LISP's parentheses, however, the
syntax forces you to count arguments to know which terms of an
expression will be passed to which function.

So far I think REBOL falls into the category of a cute toy.  The
documentation is sketchy and contains a certain amount of functional
mumbo jumbo.  The licensing terms for the REBOL interpreter are unclear
>from  either the documentation or the web site.  It's "free", but I
don't know whether the source is available.  The language makes some
things easy, but other things very difficult.  There's no support for
system-dependent programming.  Associative arrays are emulated, but
don't scale well (200 times slower than Perl for 1000 elements).  There
are no regular expressions for pattern matching.  Where Perl and REBOL
have corresponding builtin functionality, the REBOL interpreter seems
to run about ten times slower than the Perl interpreter.

: Do you think we need yet another scripting language?

That's like asking if we need new pictures in the art gallery.  You
can't prevent language designers from designing languages.

On the other hand, Perl has never been afraid of competition.  :-)

: What are, in your opinion, the greatest advantages of Perl over REBOL?

Speed
        Perl is about 10 times faster than REBOL at corresponding operations,
        and REBOL is missing many of the corresponding operations.

Stability
        Perl has been tested for 11 years now.  REBOL core dumps every
        time I quit on my Linux machine.

Maturity
        Perl already has all the stuff that they say they're going
        to add to REBOL someday.

Paradigm neutrality
        You can program Perl in the functional paradigm, but it's not
        forced on you.  Perl also lets you program in the procedural
        paradigm or the OO paradigm.  (REBOL claims to allow OO programming
        but there's no inheritance, merely cloning.)

Expressiveness
        REBOL is relatively impoverished in quoting mechanisms.
        There aren't any short-circuit logical operators in REBOL.
        Can't break out of multi-level loops in REBOL.
        REBOl only has lexical scoping.  Perl has both lexical and dynamic.

Clarity
        Perl almost always has the right tool for the job.  In REBOL
            you often have to be more verbose.
        Perl's reference model is explicit and straightforward.  REBOL is
            full of implicit references into the middles of lists that may
            be "owned" by other variables.  Here's a quote from REBOL's
            manual:
 
                "The change, insert, remove, and clear functions directly
                affect the series provided as the first argument. If you
                have other variables which refer to the same series, after
                the operation they may no longer reference the same value
                within the series."

Free and open source
        REBOL's terms are very murky here.

Regular expressions
        REBOL only has basic wildcard-style matches, ? and *.

Associative arrays
        Perl's associative arrays are the same speed no matter how
            large they are.

System-dependent programming
        Both Perl and REBOL allow system-independent programming, but
            REBOL doesn't provide any system-dependent programming

: Or vice versa?

The REBOL interpreter is more compact than Perl's, at least for the
barebones interpreter.

REBOL has continuations, meaning you can restart a function where it
left off, as a kind of co-routine.  (In Perl these might be emulated
with closures or threads.)

Most of the other claims seem like hype to me:

    I don't count REBOL's builtin types as an advantage because these
    can easily be done in Perl with existing extension modules.

    I don't think REBOL is any more English-like than any other
    dialecting language such as, say, Tcl.  (Or Perl, for that matter.)
    It claims to have little punctuation, but in fact REBOL has its own
    set of funny punctuation characters: "!" for types, "?" for
    booleans, "%" for filenames, ":" to quote keywords, and such.  The
    interpolation rules are inconsistent: you use ^[foo] in strings,
    but :foo in paths.

    Automatic case folding seems really retro these days when XML and
    Unicode are moving in the opposite direction.

    The fact of the matter is that almost every claim they make about
    REBOL is also true of Perl.  I don't think the reverse of that
    could be stated with a straight face.

: Is there anything else that comes to your mind when you hear REBOL?

I think they shouldn't have given it a name that people will intentionally
mispronounce.  :-)

Larry



(end of original message)
------------------------------------------------------------------------------

You can view this message and the related discussion by following this link:
http://www.deja.com/dnquery.xp?search=thread&svcclass=dnserver&[EMAIL PROTECTED]%3e%231/2
We hope to see you soon at Deja.com.
Before you buy.
http://www.deja.com/

Reply via email to