A couple of my columns toward the end of last year provoked questions that I really should answer here and now, to tie up the loose ends of 1998. There are essentially two questions:
The Rebol programming language sounds interesting, but why would I want to use it instead of, say, Python?
Swaine, you ignorant heathen, don't you realize that the millenium bug is really a centennial bug and would cause trouble even if this were only a century rollover that we were approaching rather than a millenium tick; and that the millenium doesn't even come on January 1, 2000 but on January 1, 2001; and that changing the calendar or converting to Zoroastrianism or whatever wouldn't solve the problem anyway?
To the latter I say: "Yes, I know that." I might even add: "Doh!"
To answer the former, I went to the source: The developers of Rebol. Here's what they said, rephrased in my words so that I can feel like I'm earning my pay:
- Rebol was created to be a network messaging language, rather than a system scripting language like Python. It was specifically designed to handle the passing of messages over the Internet and other such heterogenous, distributed environments.
- Rebol is platform independent. Python is not.
- Rebol is a context-sensitive language; Python is context-free. That's a distinction from language theory that is more often invoked by linguistics professors than computer programmers; in practice, what it means is that Rebol can often infer context that programmers using Python and most other languages would have to supply explicitly.
- And Rebol is 250K. Python is 2.3 megs. So you can easily download Rebol. Since it's free, I recommend you do, and take a look at it.
Finally, in that same spirit of tying up loose ends, and in the timeworn tradition of making New Year's resolutions, I hereby resolve not to pass on to you any more unsubstantiated rumors from Robert X. Cringely. Unless they're really, really juicy.
Mike is the co-author of Fire in the Valley, the definitive history of the personal computer.
Previously in Swaine's Frames