From: Carl Youngblood Date: 2001-08-01T02:15:11+09:00 Subject: [ruby-talk:18902] Re: Ruby vs. REBOL "Niklas Frykholm" wrote in message news:B8x97.10511$WD1.461066@e420r-atl2.usenetserver.com... > > I have been looking into REBOL (http://www.rebol.com/) lately > > > * There is no operator precedence, operation proceeds strictly from left > to right, so 3 + 4 * 2 and 4 * 2 + 3 give different results. This is > kind of tricky. Agreed. However, you can still use parentheses to force the order you want. > * It is not free. There are public and commercial versions of the interpreter > with different features. I was going to mention this but forgot. This is what I would consider to be one of the biggest downsides to REBOL. However, most of the core functionality is free and _not_ time limited, as far as I can tell. I suspect that maybe your version of the interpreter wanted you to upgrade to get the latest version, not to pay for it. The REBOL web site seems to clearly delineate which parts are free and which ones cost, and it doesn't mention anything about them being time-limited. You can accomplish quite a lot with the free stuff; however, the clencher to me is that they don't offer database connectivity in the free version. This is the biggest thing lacking, in my opinion. But I guess it might not be too hard to create a simple client-side replicating database using text files or something for small programs that didn't require complex queries. > * It does not use regexps for pattern matching, instead it uses a parser > (not sure what kind). I found it to be cumbersome when you want to do > simple matches, but it is probably more powerful for complex matches. This is one thing that I noticed about the entire REBOL syntax. It seems like the author is trying to start from scratch and create a language that doesn't assume any prior programming experience. For this reason, I think he tried to forget his preconceptions of how programming works and create a set of tools that he felt were the most elegant and efficient for the job. This is probably why he threw out some of the "learned" parts of programming that seem to be somewhat arbitrary, like operator precedence, regexps and even reserved words. > * This parser can be used to extend the language and this is encouraged. > They envision a lot of domain-specific REBOL variants. (I'm not so sure > that is such a good idea.) I see your point, but I believe that this feature is one of the things that allows REBOL code to be so compact. Once you create a "variant", you can use it to greatly speed up your coding. > * There is no mention on how to interface the langauge with third-party > C modules in the web documentation. I agree this is not good. This probably has a lot to do with the author's closed source for-profit philosophy. > I never became real comfortable with REBOL. Simple one-liners were easy > to do, but when I aimed for something more complex I found myself spending > a lot of time with the manuals. Ruby is much closer to how I think. After looking through the manuals I can see how REBOL takes some getting used to. Some of the ways that an experienced programmer is used to thinking don't transfer to REBOL well. I think I'll try to get a little more used to it before I decide if I like it or not. Thanks for taking the time to respond. Carl Youngblood