Slashdot Mirror


REBOL the "Messaging Language"

FunkflY writes " From the Rebol Hompage"REBOL (pronounced "REB-ul"), the first in a new breed of Internet messaging languages, today revolutionized the exchange and interpretation of network-based information by allowing programs authored in REBOL/core 2.0 to run on more than 15 popular computing platforms without modification. As a messaging language, REBOL provides seamless network connectivity to the Internet protocols such as HTTP, FTP, SMTP, POP, NNTP, Finger, and others." " A new version came out recently-worth checking out.

20 of 113 comments (clear)

  1. Why? by Anonymous Coward · · Score: 2

    I do not mean to poo-poo on someones new toy,
    but why should people use a "new language" just
    to do simple little tasks like downloading
    a webpage or sending mail? There are already
    powerful scripting tools out there. Tcl, Perl,
    and Python have been around for a lot longer
    and they can do all of this and more. Perhaps
    someone can clue me in about why this tool
    is any better than the existing ones.

  2. The examples are a bit strange though by Anonymous Coward · · Score: 2

    Look at the email examples. In one of them answers are sent to the From: address (instead of the Reply-To address if available), in another one the From: address is used to trust the sender ... talk about security holes

  3. Cool idea, but I'll pass by Anonymous Coward · · Score: 2

    Having the basic Internet protocols built into the core is a nice idea. But the language looks like candygrammar, with all the pain that entails. I don't see support for regex, either.

    -Philip

  4. I can't believe it! by Anonymous Coward · · Score: 3

    All the whining and crying about Rebol's logo and why it's nothing to even look at. At how Perl pounds the daylights out of it. Crimeny-sakes!

    I emailed Rebol last fall and asked if it would be available for the PalmPilot. Within a day they emailed me and said that they would investigate. It's now atleast listed as pending on the site. Did anyone else notice this? You might be geeks but you aren't going to get a functional Perl dist on the PalmPilot. (And CPAN won't help in this arena.) I think it's a niche language for niche applications that looks promising for communications between portable devices and 'regular' systems.

    Rebol is something new (as compared to C,C++,Perl). Something cool to learn. Maybe even useful. Why's this group so condescending to 'new' technology? I even saw a gripe about it being Freeware. Geez-oh-whiz! Only here.

    Did any of the nay-sayers, at the dawn of Perl say, "Ohhh, that's junk. What do we need that for? I don't see the application for it."?

  5. Re:Hmm.. C-like? I don't think so... by Simon · · Score: 2


    I've used it a bit in the past and I must say that it really is nothing like C. To me it feels very LISP like. The heavy use of []. Blocks (which are often just lists of things) being used to store most data, and the everything-is-data-until-executed way of working. Also, Rebol is a hell of a lot more dynamic and lose than C. Any 'word' (or function) can be redefined anywhere, anytime.

    Try it out, it's fun. But you won't get very far using a C like programming mentality.

    Open Your Mind (tm) :-)

    --Simon.

  6. Re:I don't think you've thought this through. by cmmike · · Score: 2

    Ugh.

    That's not a question of being a die-hard or not. The real question is why the f*&% people still invent new syntax. The beauty of Scheme (or Common Lisp, for that matter) is that you learn one basic syntax, and you can construct most any domain-specific syntax in terms of it. Yes you can have infix math in Lisp. Do your homework or something.

    All this glitzy networking stuff could be a nice Scheme or Lisp extension, along with the syntax. But noooo, we have to invent a new damn language to have the networking. We'll have Perl for text processing, Lisp for heavy AI, Rebol for networking and Python for, uh, "rapid prototyping" (slow prototyping, anyone?).

    Disclaimers:
    1. I needed to vent.
    2. I think the computing field needs more people that know what they are doing, and "easy" languages only help impostors and give people unfounded hopes (like, hey, I'm a bad-ass algorithm designer. I know Basic).
    3. I don't take parentophobes seriously. If you have such problems distinguishing syntax from semantics, than you probably don't have a good grasp of the distinction between content and representation.

    There, I feel better now.

    --
    -- LIVE FATS DIE YO GNU
  7. Quick summary of the language... by William+Tanksley · · Score: 3

    It's not very C-like; if I had to pick a language it _is_ like, it'd be Forth, but with the ability to have syntax. Not at all unpleasant.

    Anyhow, one interesting result of the Forth-like nature is that there are a huge number of datatypes which are not possible in other languages; for example, URLs are actually formal datatypes, not just another string (a malformed URL is a compile-time error).

    They've obviously learned from Perl and Python otherwise; it's a nicely dynamic language which seems to be error-tolerant, and has quick, easy syntax for most needs.

    I'm reasonably happy with it. It doesn't look as _nice_ as Python, but at least its braces and brackets have a purpose.

    I suppose I'll have to build a Lojbanic version. Now that would be interesting. A speakable computer language.

  8. REBOL thread on c.l.python by AMK · · Score: 4
    Back in October when REBOL first came out, there was an interesting, and surprisingly even-handed, thread about it in comp.lang.python. The consensus was that REBOL is basically Scheme -- Scheme dressed up in an infix format to avoid triggering parenthephobia.

    Personally, I can't imagine why anyone in 1999 is bothering to release a new language without making the source code available. Haven't we learned better by now?

  9. Re:Check what you piss on before you piss... by ink · · Score: 5
    I am beginning to hate Linux USERS, because they just don't seem to know any better. REBOL looks great, and has promise. "Awww, but it may not be GPL, therefore it sucks." "Ahhh, it ain't Perl" "Why do we need another language" Shit like this really scares me when I think about the intelligence level of a lot of Linux users. I must say, Windows may suck, but Windows users don't. I know a lot of Windows users that embrace new development technologies, while Slashdot is full of whinning programmers who feel that if you can't do it in C/Perl, you shouldn't be a programmer.

    Linux is part of the Free Software movement. If you don't like that then you should present clean, concise reasoning why we should never discuss it. You are making HUGE generalizations about Linux and Windows users and you ought to learn how to present a rational argument instead of this silly banter.

    Why shouldn't we critique the license under which new software is released? Why should we accept everything developed for Linux with beggar's hands? We shouldn't and we don't (surprise). If that offends you, I'm not sorry and I won't apologize for "whinning programmer" bretheren for it is you who is doing the whinning here.

    As for the issues; UNIX is based on small utilities which do one thing well. None of the examples on their website showed anything revolutionary or even interesting when compared to BASH. What's the difference between doing

    send luke@rebol.com "Hello World!"
    and
    echo "Hello World" | mail luke@rebol.com
    It is any surprise that were not very impressed?

    Perl is a schitzophrenic language. It can look good, it can look bad. It can be object-oriented, it can be iterative, it can be threaded, it can be modularized. It can embed code from other languages, it can communicate with the native OS using native constructs, it can be graphical, it can be ttyable. It is what you want it to be, and yes, it should be compared to REBOL because they are trying to solve the same problems.

    But I suppose you'd rather whine about Linux users with your time. What a joke. And as for the Amiga user: get over it. I used to be an Amiga user and I don't expect the Linux community to "care about my feelings" or other such bullshit. If you want to compare something with AREXX then do it. If you want to spout how 31337 you are because you're the "only" one to ever use it, you have no business raking Linux users over the coals for doing the same thing with Perl and C. Shut up and present a post with content.

    The wheel is turning but the hamster is dead.

    --
    The wheel is turning, but the hamster is dead.
  10. Some other notes: by Woodie · · Score: 3

    Rebols really pretty cool.

    Sure, I know "it's another scripting language" - but consider that it has support for currency built into it. I don't really see that any where in Perl. Oh yeah, and date arithmetic too.

    It's really nothing like C or C++, so I'd suggest that all the nay-sayers who've been saying that it is, take a look at it for real. Considering that it's a 150Kb download it really shouldn't take that long... Oh yeah there's another difference from most "modern" scripting environments, it's small. Yeah - you get all that good stuff in a very tiny package.

    So, far, after extensive experience with NNTP and HTTP via Perl, I would have to say that Rebol is much much simpler to use, and leverage for a person who just wants to get stuff done.

    An example from their documentation:

    ; A simple database
    persons: [
    "Moe Howard" CEO "Three Stooges Ltd." moe@threestooges.com
    "Larry Fine" Manager "Dept. of Knuckleheads" larry@kheads.gov
    "Curly Howard" Mascot "Wise Guys Club" curly@wiseguys.org
    ]
    ; The fields of the database as words:
    facts: [name title company email]

    ; The format used to print the info:
    text: [name "of" company "is at" email]

    ; The loop that prints the database:
    use facts [forskip persons 4 [
    set facts persons
    print text
    ]
    ]

    Would generate the following:
    Moe Howard of Three Stooges Ltd. is at moe@stooges.com
    ... etc.

    - Woodie

  11. Re:Why would this make me give up Python? by scrytch · · Score: 2

    I find it suitably ironic that the de-formatting that happened to that example would cause it not to run. I'll take a language that isn't whitespace-sensitive, thanks.

    --
    I've finally had it: until slashdot gets article moderation, I am not coming back.
  12. emulation bakeoff: programming contest by 10am-bedtime · · Score: 2
    ok you hacks, now that there's so much sand in the box, build your castle and let it be judged.

    slashdot moderators should hold a contest w/ the following rules:

    • submissions by end of 1-Aug-1999.
    • contestant must post a URL to a BLAH.tar.gz file
    • this file implements a REBOL interpreter/translator/compiler (your choice) in your favorite other language
    • in the interim, REBOL programmers (any that exist) can post programs to add to the Judgement Suite
    • judging is as follows:

      • the submitted entry must run all of the programs in the Judgement Suite
      • one point awarded for each program in the Suite that behaves "reasonably close" to that of the REBOL reference program
      • core dumps disqualify the contestant immediately
      • fewer lines of 80-column-max code is better
      • faster execution is better
      • (many) bonus points for synthesis of native language and REBOL (a la kawa)
    • prize is three-months bragging rights on slashdot but STFU afterwards, please (until the next programming contest)
    • REBOL employees are disqualified
    • submitted entry must have open-source license

    my guess is that there will be people interested in this sort of friendly competition.

  13. Programming is NOT for end users! by Wag+the+Dog · · Score: 3

    I don't understand the people who have commented so far and their view that REBOL is a "good" language simply because it's "easier" than other languages. I think this is a common misconception that is evident in multiple areas of computer science -- that something is "good" because it's easy for the lay-person to pick it up and understand it.

    While this may be true for application programs, which are designed for end users, other areas of computers should not be made "simple" for end users. Take two examples, both from our "favorite" company:

    1) Visual Basic - this was an attempt to make programming a graphical system "easy" for lay people and those just getting "started" in programming. The result is horrendous. It may be easy to throw a few things together and come up with a "prototype" program but I'd be hard to convince that VisualBasic is "the" programming language to use for large complex projects.

    2) WindowsNT - Well, this is pretty self explainatory. This server operating system was designed with a "user-friendly" interface to make it easier for "administrators" to configure and maintain the system. What a joke. It's plain stupid to believe that anyone can make system administration "easy." The only way it's easy is if you have an experienced administrator behind the wheel who knows what they are doing. Then, you can have a well oiled operation that does not require any unforseen problems. However, I would strongly disagree with anyone that says you can take an inexperienced person and have them effectively administer a system just because it has a "user-friendly" interface.

    Now, what does this have to do with REBOL? Well, REBOL may be a great language. But whether it makes it "easy" for beginners or not does not influence my decision to use the language at all. In fact, I would hope that end users do not try to "program" in it simply because it's "easy." We would then end up with programs that "sort of" work "sometimes."

    If someone wants to get into the computer field, let them go to school and take some classes. It's important to learn the underlying concepts before going off and writing programs for production systems. Failure to do so usually results in more work for true CS gurus who have to fix the resulting problems.

  14. Re:Why? - Easier by _Stryker · · Score: 2

    Progamming languages ARE easy to learn/use/figure out if you've had several years training doing it. That is why people go to school for years to become computer scientists. If I'm going to have to start using a new programming language, I want it to be better, not just easier to use/learn/figure out. And just because it makes simple tasks easier, what does it do for more complicated tasks? I haven't fully evaluated this language yet, but just because it looks easy at first glance, doesn't mean that it really is easier in the long run.

    Here is something to think about, does the medical field make it easier for non-doctors to start practicing medicine without a degree? Or why don't they make plane cockpits simpler so that it would be easier to use/learn/figure out for a non-pilot?
    ---

  15. REBOL - A different language by Camelot · · Score: 3
    I think the biggest advantage - and pitfall - of REBOL is that it is different. All the new languages we have seen in the recent years are very much alike (C-like, in fact), switching from one language to another isn't too difficult. REBOL, however, seems likes a different beast - and that's why we, at the very least, give it some thought. The very fact that it's different also means that it will never be very widely adopted.. Remember Java ? There are two things that have attributed to its success for the most part:
    1. Its syntax is familiar to millions of C and C++ programmers out there, so writing in Java is not a big deal
    2. It's hyped and backed by a computer industry heavyweight (Sun)
    REBOL lacks both of these.

    As for the "built-in networking" - I wouldn't make such a fuss out of it. It's true that other languages (perl, for example), don't come with these built-in, but with the excellent distributed module repository - CPAN - it's a non-issue. Fetching a WWW page is as simple as

    perl -MLWP::Simple -e 'print get($ARGV[0])' http://www.slashdot.org/

    Getting stuff done ? I haven't yet met a language that can beat perl when it comes to minimizing development time, as the mission of REBOL seems to be different (as it says, a Messaging Language), I doubt it can do that either.

    REBOL for Internet Applications instead of Java.. hmm.. maybe ;)

  16. Re:Amiga? by DGolden · · Score: 4

    Well, Carl Sassenrath developed the "classic" AmigaOS - which was a 32-bit, preemptive multitasking, message-passing OS, running on 68k series chips (N.B. even the 68000, though it had a 16-bit data bus, had 32-bit registers (16 of 'em, not 4...), so the OS was always written (well, 1.3 and above) to be 32-bit) -but it lacked true memory protection (it came fairly close with pervasive semaphore locking in software, and a few other tricks. My amiga without true memory protection was always more stable than W95's so-called memory protection...) - CPUs with MMUs wre prohibitively expensive at design time of the original amiga.

    The Amiga OS had lots of good features, though, some of which linux is only catching up to now. A lot of its more esoteric and underused functions were actually quite cool, for the time. e.g. The Envoy networking software, in conjunction with ARexx, had "gateways" that could be used for message passing, scripting, etc, between clusters of Amigas - basically anything that a local arexx program could do, could also be sent through the gateways to other amigas. I also liked the dynamically resizing ramdisk - it was always handy. The support for multiple resolutions and colour depths on different screens simultaneously was also very useful. This was possible due to the custom hardware, though, which really made the amiga what is was.

    It's also really easy to program for in C or macro assembler, and its system include files work very well, and were very well written (on average) - I liked taglists for function parameters, exec lists were really useful, etc. etc.

    A lot of Linux people are ex-amiga people. Rasterman springs to mind. Imlib's kinda like datatypes, and enlightenment on X obviously borrows from the amiga workbench on intuition.

    Amiga OS 5.0 is a different kettle of fish. It's built upon QNX, which is a very good RTOS. It has relatively little to do with Amiga OSes 0 to 3, other than the name, and the fact that some of the original amiga people are designing it "in the spirit of the original amiga" - whatever that's supposed to mean.

    Rebol is a pretty easy language to learn, and very easy to read. However, I'd expect the Amiga NG people to include several scriptiing languages- they'll probably include the GNU tools, for a start, at least in the developer release of the OS.


    --
    Choice of masters is not freedom.
  17. Why would this make me give up Python? by mrbnsn · · Score: 2

    # A simple database
    persons = (
    ("Moe Howard", "CEO", "Three Stooges Ltd.", "moe@threestooges.com"),
    ("Larry Fine", "Manager", "Dept. of Knuckleheads", "larry@kheads.gov"),
    ("Curly Howard", "Mascot", "Wise Guys Club", "curly@wiseguys.org")
    )

    # The fields of the database as words:
    facts = ("name", "title", "company", "email")

    # The format used to print the info:
    text = "%(name)s of %(company)s is at %(email)s"

    # Emulate Rebol "set" feature
    def set(attr, val): globals()[attr] = val

    # The loop that prints the database:
    for person in persons:
    map(set, facts, person)
    print text % globals()



    P.S. Hey, Rob, how about allowing (pre) or (code) tags, eh?

    1. Re:Why would this make me give up Python? by mrbnsn · · Score: 2

      >I find it suitably ironic that the de-formatting that happened to that example would cause it not
      >to run. I'll take a language that isn't whitespace-sensitive, thanks.

      There's always a wise guy. Here:

      for person in persons: \
      map(set, facts, person);\
      print text % globals()

      Happy now?

  18. Perl Example, REBOL equivalent by Vargol · · Score: 2

    taken from http://www.rebol.com/web-read.html


    To read a web page:

    page: read http://www.rebol.com

    To view the HTML source code:

    print page


    Or, you could just write:


    print read http://www.rebol.com


    which to me a non-perl/non-rebol user seems a lot easier than the perl example

  19. Languages by The+Welcome+Rain · · Score: 2

    If we're going to get worked up about languages, why aren't we worrying about Haskell, which doesn't seem to have a licensing scheme and in which Microsoft has taken an altogether too intense interest?

    Encourage the Haskell folks to settle on a good license -- PAL, GPL, whatever they can stomach. ANYTHING but a Microsoft hegemony.

    Rebol is just another offspring of the LISP family. Haskell is something different and interesting.



    --
    --
    Some keywords for the NSA in the Lord of the Rings universe: One Ring bind find Sauron quest Nazgul freedom