Carl Sassenrath Talks About REBOL 246
Rebelos writes: "REBOL is a powerful software technology (ever thought that you could write a full blown GUI Instant Messenger in only 7 KB of source code?) optimized specifically for Internet usage. Rebol Tech, the company behind REBOL, consists of only 10 people and they claim they can compete and go against .NET and Microsoft's dubious plans. Their platform has been ported to 44 operating systems so far! Take a look as to what Carl Sassenrath, ex-AmigaOS/Commodore engineer and founder of Rebol, says at OSNews about the Rebol platform, its deployment, other programming languagees, Microsoft etc." The buzzwords are pretty thick in here, and the ideas are interesting, if a little vague. If the interview makes you curious, check out the previous stories touching on Rebol as well.
Re:Ha! To You! (Score:1, Informative)
All you need is the 800 KB runtime REBOL library, which is the same for ALL your Rebol applications. This is why REBOL will own your Java and C# crap. Because all its apps are SO SMALL. When the executable Internet, that Microsoft wants to deploy, will come, the C# applications will load slowly from your DSL modem, as they will be several MBs for let's say, a graphics manipulation app. But with REBOL, 7 KB will always be 7 KB ! The REBOL apps will download and run even from a 33.6 kbps modem *instantly*. Because you only download their small source code and interpret them on the fly.
Re:Aha! (Score:3, Informative)
REBOL is an *internet language*. For example, you can't write a graphics application with it (until now...). But if you want to write a fully featured GUI NewsReader, an Email Client, an IM or anything related to Internet or other simpler stuff (like a calculator, a simple word processor etc), then you can do it easily, because REBOL supports all these protocols internally!
So, as C has a printf() and a uint32 for example, REBOL has an email DataType! It has a NewsReader DataType etc!
Each language is good for some things and not so good for others. REBOL is the absolute Internet language.
Licensing (Score:5, Informative)
That's a real shame, because other than that, it is really quite impressive. They should think about a Transgaming-like business model, where users subscribe and the code becomes free when there are enough subscribers.
Re:Use OpenRebol instead (Score:2, Informative)
Re:A meta-circular view of a bovine backside (Score:5, Informative)
He didn't just make that term up, if that's what you're thinking. A "metacircular" language is a language which is implemented in itself. The most common example of this is Lisp - in fact, the very first computer language interpreter ever was a Lisp interpreter, written in a Lisp-like language as something of a mathematical exercise, by John McCarthy around 1958. This approach has proved very powerful, and some good language implementations have been written this way.
The term is probably most famously used in SICP [mit.edu], in a section entitled The Metacircular Evaluator [mit.edu].
Of course, none of this implies that REBOL is any good, but the fact that Sassenrath is aware of such things is probably a good sign. If you read the rest of the paragraph after the term "meta-circular", you'll see that he is actually referring to a relevant aspect of REBOL, namely that the GUI system is implemented in a dialect of REBOL. So it isn't quite as bad as if he'd said that the language runs on free tachyon energy...
What Larry Wall Thinks (Score:2, Informative)
Re:big deal (Score:3, Informative)
I don't know about
Re:A meta-circular view of a bovine backside (Score:2, Informative)
In interpreted languages that allow procedures to be treated as data values, it is very easy to write an interpreter for those languages in the language itself, because the language has features that make it easy to write code that manipulates other code, evaluate expressions, and so on. The same is not true for writing a language like, say, C, since C itself doesn't contain any particular features oriented towards such tasks. Writing a C compiler in C has to be done "the hard way". Writing a Lisp interpreter in Lisp is trivial by comparison.
Saying that a language is capable of implementing itself in a metacircular fashion implies that the language has capabilities which go beyond those in traditional languages like C, Basic, or Java, none of which can really be said to be metacircular. An important implication is the ability of a language to operate on its own code at runtime, which is why metacircular languages usually support higher order functions. Metacircular languages are also good at implementing other languages with minimum effort.
Smalltalk is another language with metacircular features. For something more unusual, here's a brief mention of an implementation of Postscript in Postscript [catalog.com]. I picked this link because it contains some clues to some of what a metacircular interpreter can buy you; I'm not sure I can explain it any better without getting into code samples in Scheme, and SICP does that better than I could.
Based on Sassenrath's description, it sounds as though REBOL has some features which can validly be described as metacircular. If he's trying to dazzle people with his language, he's at least doing so in a way which communicates something meaningful to those familiar with the terminology, as opposed to making completely gratuitous claims.
Re:Bold claims (Score:2, Informative)
Rebol is in the news for about two years now
It was mentined in BYTE magazine adn Dr. Jobbs, years ago.
Its your fault if you have not heared ybout it not theirs
I only did not use it because the language is YANS language. (Yet Another New Syntax).
The same results would have been possible with calling the object creation operator: new, like in C++/JAVA/Smaltalk and other languages. They name it "make".
And that goes on
OTOH nice inventions (but also not realy necessary) like variabel access of objects via the slash (like in ordinary unix path/file names).
Instead the C++/JAVA style for accessing account.balance they use account/balance.
Rebol gives you first class citizens for all kinds of web and natural datatypes, like times (10:55 is just a time object), dates (2001-10-28 is a literal for a date object). Basicly all net protocolls are supported like in curl.
Well, as I said: unfortunatly they invented yet another damn syntax
Regards,
angel'o'sphere