What's The Scoop On REBOL?
muggs asks: "After reading this article in Byte, I'd like to hear people's experiences and opinions about REBOL." The language's creator, Carl Sassenrath, describes REBOL (Relative Expression-Based Object Language) as "a highly dynamic, polymorphic, reflective, context-dependent, symbolic, functional language...a powerful tool that provides great productive leverage." How well does it live up to this description?
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. It's not nearly as messy as perl can get, either.
Do you even know anything about perl? -- AC Replying to Tom Christiansen post.
It seems like a simple to use language for prototyping quickly. Maybe to get a program laid out before you start to code it up and optimize it down in C++.
I have written a few small applications in REBOL to index web sites and it was quite easy to do. To achieve the same thing in e.g. C/C++ would have taken much, much more time. The language has some really useful built-in functions for processing urls and html documents. This, together with features such as list processing and simple string manipulation functions, make it a very powerful (scripting) language for certain tasks (such as indexing web sites or maintaining mailing lists, etc). In my opinion, it is much more powerful than e.g. Perl. The syntax and semantics of the language are also quite neat and better thought out than it might seem at first sight (IMHO), although it takes some getting used to. I had some initial problems with the "by reference" mechanism. However, it is not your ideal language for all uses. I found file management somewhat problematic: files are apparently maintained in working memory until you close them, which caused massive swapping in my indexing application as soon as the file size grew over 100Mb... There are ways to overcome this, though, but it's not the most elegant thing I ever saw. Conclusion: check it out, it may have something that you might need or never thought possible in a language. Theo
You can write a game in any language. If you're thinking of a graphical game, sure, you can write one of those too.
Example: check out Python's binding to the Qt library. Python will bind to other things too, like OpenGL. The main deal will be the speed. If you don't need it, Python's great. Otherwise use a compiled language.
If tits were wings it'd be flying around.
Is it well designed? Proven? Can standard tools (emacs, etc.) cope with the syntax? Too much flexibility in defining and extending the syntax can be disadvantageous for languages, in particular if you expect to have multiple programmers working on a project.
Are there available alternatives? There are zillions of nice little scripting languages for all sorts of purposes. Many of them have extensive tool support. Just some that come to mind are Perl, Python, PHP, Lua, Scheme, Pike, Tcl/Tk, JavaScript, VBScript, and Visual Basic.
Altogether, I'm doubtful that the world needs another scripting language, in particular one that seems to allow tricky syntactic redefinitions and appears to be proprietary as well.