Carl Sassenrath Talks About REBOL
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.
But that is the whole point!
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.
As for "going against .NET", big efforts like that are not about technology, they are about marketing and people. And they are also about the long-term availability and tools support that a large company like Microsoft (or Sun, in the case of Java) brings to the table.
But even technologically, it is an error to confuse a scripting language with a system like .NET or Java. Yes, Rebol, Python, and Perl are much simpler to program than .NET or Java. Yes, they run a few important things somewhat faster. But .NET and Java are natively compiled, fast, general-purpose programming environments with static type checking and large libraries (written in Java itself in the case of Java), and that just makes them much more useful for large-real world problems. You see, another misconception is that the easier you make programming in a language, the more useful it is in real-world applications.
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.
No matter what you think about Microsoft and its practices, the .NET strategy is more likely to attract a wide variety of developers because it allows them to use most any language they want. (.NET has an OS lockin problem, but the 90%/10% ratio is in MS's favor in that case).
REBOL may be extremely cool; I'm going to have to take a look at the language spec. However, I don't think that any single language will ever take over the whole world.
If it weren't for rebol I wouldn't have a 25 line script to grab the stock market closes every day from yahoo.com. If you want to get batches of web pages and parse them for useful information, use rebol. It rocks.
If it were more widely accepted, rebol would make a really sweet web language, too, allowing more control over the interface, with less garbage in the page's source code.
"Look at me, I invented the stove!" -- Ben Franklin
I mean, what happens if you don't happen to like the way that this thing handles TCP connections on your particular platform? You are basically screwed, as not only are underlying routines written in another language, but you don't even get to see the source! I'm shocked that Slashdot would even post such a thing here, considering that the closest analog that I can find to this is VB, and, honestly folks, we do not need more idiots of the using class writing their own AOL Instant Messanger or other crap like that that will probably kill the network I admin.
Is your company running tools written by ma
I've used REBOL quite a bit, and I'll say one thing up front: this is not going to be a Microsoft killer, or a .Net killer, or whatever. But REBOL is very good at what it does, which is offer a high-level interface to web, e-mail, etc. scripting. The language is pretty nice once you get into it. But for 99% of my scripting, I still use Perl. Will that change because of REBOL? I doubt it.
Nice toy anyway, though.
Mozilla's a nice operating system, but it needs a better browser.
You're right, it's _not_ another Perl. REBOL code is actually _readable_ by human beings, and consistent in syntax. Too bad about the license, though. *shrug*
Actually, there's the OSCAR project which wants to create an open REBOL interpreter. Don't think they will ever come anywhere near it though.
REBOL might be fantastic for all I know. But when I hear some-one say that something "was designed from a meta-circular view of language semantics" that sounds like the perfect description of bullshit to me.
Most of the networking libraries and stuff are already built in to the core. It's pretty damn small - something like 300k, with GUI support (widgets, etc). The biggest thing holding us back from having deployed this for a client is that there was no Mac GUi support when we checked (6 months ago or so). I think it's there now.
That's what's a bit misleading about this - 44 platforms, but not all have GUI support, which is where I'd think the big win would be. If I want to simply script stuff on multiple platforms and one set of code I can use Perl (although it's not 300k!)
creation science book
"...we have a partnership that will be putting REBOL onto 30 million desktops within the next few months."
I just had images of millions of AOL cd's dance through my head. With the types of services this provides and their claims to be a .NET alternative, who else could they be partnering up with?
Okay, so I downloaded the viewer 362K (so far so good..)
Run the installer, took a few seconds (great!)
Took a look at the demos, only a few seconds to download and view (quick!), and then I quickly lost interest. The demos are rubbish!
Visited some of the other Rebol enabled sites, the demos did not get any better!
I just don't see anybody wanting to write any serious applications for this platform. JNLP the Java web application launching protocol has much better demo applications available. http://java.sun.com/products/javawebstart
Show me a serious application such as a paint program or a game and i'll take this seriously otherwise forget it!
Check out DrScheme from the PLT group. It's "an interactive, integrated, graphical programming environment for the Scheme programming language". It's cross-platform, released under the GPL, and includes cross-platform GUI support (*nix & Windows), a comprehensive help system, a bunch of useful libraries for graphics, Internet, COM access on Windows, etc., as well as some useful applications like a web server, web browser, Gtk interface, a graphical IMAP mail client, and some graphical games.
The underlying Scheme implementation, known as MzScheme, includes a fast interpreter as well as a compiler that can compile to bytecode or native code.
1. Open availability, through independance of the software maker
2. Structure and discipline concepts in order to avoid a mess.
Although (point 1), there is a group developing Rebol as open source (OSCAR), the last time I checked, there was still no source code available. So I started my own implementation, btw absolutely not available yet because I don't have that much to offer right now.
Rebol's best idea is the distributed computing model. They actually state that the good ol' webbrowser is a load of crap, and basically unsuitable for the things we want to do. They have a point there, because as a prof web developer, I can't believe the efforts I have to make, just to create something simple. IMHO a web browser is only suitable for text and images. I see the plugins merely as patches, fixing the shortcomings of the browser.
So Rebol says - the browser 's gotta go, and we'll introduce a new internet application environment; a successor to the webbrowser.
Besides that, Rebol is a very good language for scientific research in the investigation of polymorphical algorithms; ie an algorithm is an idea, and code is an implementation of this idea. The keyword reprogramming feature of Rebol gives flexible tools to understand the idea of an algortihm better, perhaps that one implementation could serve multiple uses. This is ofcourse not the same as a reusable object, I'm talking about a reusable algorithm.
Still, I think Rebol is kinda cool!
Bizar technology?
Love or hate Perl, Larry Wall has some interesting thoughts and comments on REBOL.
Mozilla's a nice operating system, but it needs a better browser.
There's a Mac OS version now, but the OS X version is "Pending". That's a little annoying. Still, maybe I'll plat around with the core stuff.
This space unintentionally left unblank.
We really need a SPAM moderation, perhaps with a -2 attached to it. I'm really fucking sick of seeing your god-damn ads for your Artificial Minds project. You try to link the stupid thing to any and every topic posted to Slashdot.
After the second such post you're just alienating Slashdot readers that might otherwise have been interested in your project.
For those who don't know what I'm talking about, look at Mentifex's user info:
http://slashdot.org/~Mentifex/
Click some of the links...Notice how every post he's made is an ad for his project, usually completely off-topic for the Slashdot article, but linked in with silly connections (ie. in an XP related post 'Artificial Minds (link included) will not use XP!').
Anyway, to keep THIS post somewhat on-topic, REBOL is a fairly nice language but it will never catch on with the silly greedy-licencing model they have. When is the last time a language that you had to pay royalties to use caught on? (Hint: Never).
check out the Rebol page of existing apps - all pretty small.
They have a desktop/OS app that looks cool but doesnt make much monetary sense to me on a desktop unless you custom design a cheap thin client to run it and only it on.
What does make sense though - is running these little apps on a wireless handheld. Build the Rebol assembler into an ASIC so it runs native code quickly - and let the application server do all the work.
Rebol looks cool but just like most java apps on the desktop are passed over for native code, I dont see this flying. Perhaps if they sought to fill the niche market of weak wireless devices theyd have more success. In either case good luck to them - I havent had the chance to do any cool machine level programming like this since I lost my TI and its various shells.
Ok, here's an example of someone who doesn't really understand what "really sweet" means.
.Net web service to grab the stock market closes from yahoo.com.
u ot esWebSvc.asp
.Net webservice in between the client and the yahoo stock pages.
I found this off the internet, it's a way to use a
http://www.dotnet101.com/articles/art031_StockQ
It's kind of an interesting kludge. You place a
Better yet would simply be if Yahoo(or whoever) provided a web service you could instantiate, pass it the stock you want a quote on and it would return a value. Makes life tremendously simpler and no need for about half the code that was written in the above article.
Enjoy
Sorry, but you don't understand how Java implementations work. When you run "javac", you produce byte code. That byte code gets turned into native code before being executed when it is part of a performance critical section--the native code compiler is part of the Java runtime.
Python, Perl, or Ruby do not have anything comparable: they are implemented as strict byte code interpreters (except for Jython, which piggy-backs on the Java runtime). In fact, the Java approach is better than the kind of batch compilation found in C/C++ because it allows for a lot more optimizations. For example, the JDK inlines code among dynamically loaded components.
As for the libraries and penetration available for Java, do you not think that if Sun had developed and spend untold millions marketing Perl or Python that they would not be in the same position?
Python or Perl are no replacement for Java. With a few exceptions, Java code runs at speeds pretty close to C/C++ under the JDK. Python and Perl implementations are orders of magnitude slower and nobody has figured out how to compile them into efficient code.
It doesnt matter how good the language is, it has to have support, qualified developers (pref. with certification), people running courses for it, and get written up in some mags like Wired that management types are going to read if it is going to become something that mainstream software shops use. Personally I don't see the advantage over say using Java or even Mozilla as a GUI (using XUL) and Perl as a scripting language for this sort of thing.
Any sufficiently advanced man is indistinguishable from God
The Lisp-like language I was referring to is the one listed on this page - look for the heading "The First Known Interpreter". This language is not Lisp as we know it - it used McCarthy's M-expression syntax - and syntactically, it is not the S-expression language that the first interpreter was capable of interpreting. Hence my statement that "the very first computer language interpreter ever was a Lisp interpreter, written in a Lisp-like language".
In "The implementation of Lisp" by McCarthy himself, he describes the following:
This was why I said McCarthy wrote the interpreter as something of a mathematical exercise. He was writing his "universal Lisp function" to illustrate a point in a paper, and didn't even consider that he was writing an interpreter - apparently Steve Russell noticed that. So that's why I said it was written as "something of a mathematical exercise".Do I get that cigar now?
Instant messaging in just 7K? Yeah. I just did it in Perl. Client and server each in under 1000 bytes, basic messaging.
I betcha if I throw in a GUI via Perl/Tk it'll bloat to 7k. Maybe.
--
# Canmephians for a better Linux Kernel
$Stalag99{"URL"}="http://stalag99.net";
I'm running eight different rebol apps on my system all at the same time. Each weighs in at between 6 and 12 MBytes. That's waay too much for such primitive apps (like that calculator using up 6,804K ). With such memory consumption this thing just eats memory like peanuts more so than Java. That's why I find Java unacceptable and that's why I think this stuff is crap too.
Your pizza just the way you ought to have it.
Interesting point - why not just do this with Perl/Tk (for the interface) and Perl on the server?
-- @rjamestaylor on Ello
If it weren't for rebol I wouldn't have a 25 line script to grab the stock market closes every day from yahoo.com.
What you describe would take about two lines of Cocoa/Objective-C code. NSString has an -initWithContentsOfURL: method, and searching for substrings is trivial with NSScanner.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
My main problem with REBOL is pretty stupid, but annoying enough to stop me using it - it's Linux font support sucks!
They hadn't updated it to use the XRENDER/Xft framework for anti-aliased fonts when I last used it, and it completely ignores that fact that my X Server is running a 120dpi resolution, so all the GUI elements are nearly unreadable.
It also seems to use the first font it comes across - seeing as I have a lot of odd special-effect fonts installed, the GUI ends up looking even stupider...
Choice of masters is not freedom.
Say what you want, but a language with "forever" as a keyword seems pretty darn circular to me.
Well,
...
...
....
... I would have loved to have this either in C++ or in JAVA integrated :-)
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
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
While Rebol isn't exactly the most desirable programming language, the Rebol desktop has a well designed UI that is seamless and not half as clunky as your typical web browser. We keep hearing about all these people trying to market services and internet applications, and we hear about all these open source application servers, but when you get down to it, it's just substituting one backend with another. They all boil down to the same front end with the same impoverished user interaction capabilities we've had for the past 7 years.
If you can't help considering the Rebol Desktop's merits apart from Rebol's shortcomings as a "power-programmer" language, consider that a population of non-programmer internet users whose tastes and browsing activities are expanding might find a very simple scripting language that enables them to easily do a lot of useful stuff with web pages and e-mail quite useful.
Bashing languages with the usual "But you can also do that in language X!" comments and general defensive put-downs is misguided. Of course you can do the same thing in any language; that's a fundamental principle of computer science. The reason we have a variety of languages is because some languages make things easier than others.
In Perl, munging through text files is a snap. The syntax is succint, and regular expressions are supported at the language level. But that doesn't mean Perl is good for everything, though. Regular expressions don't scale up to what you'd need to write a full BNF parser in Perl. And, sure, you can hook to http and ftp libraries, but they aren't integrated into the language in the same way that the "file exists?" operator is.
REBOL has several strengths. One is that its parsing features effectively *are* BNF, so you can write complex parsers for mini-languages with great ease, and without resorting to lex, yacc, and such. The other advantage is that having language-level support for internet protocols is very convenient. Sure, you can get at them through a Perl module, but if you argue that then you have to ask why regular expressions shouldn't be a separate module as well.
All this blind bashing of languages is tiring. It's exactly like the kiddies who bash whatever game console they didn't get for Christmas.