Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search

[REBOL] [style] REBOL is different

From: greggirwin::mindspring::com at: 21-Apr-2004 12:00

Hi Paul, Thanks for your posts! It's good for us to get "a view from the outside" when new people come in. Please do use this list as a resource to help you in your work with REBOL. We all learn when people ask questions here. Your post inspired me to write a bit here, if you'll bear with me, and hopefully others will contribute thoughts as well. pbc> Personally I find myself amazed at the compactness & speed of pbc> Rebol. I don't know the language itself well enough to pbc> appreciate it's ease of use, but I expect to be totally blown pbc> away by that aspect as well. I just needed to learn some basic PHP for a project (fortunately I only had to do very simple things, being a newbie with it). I can't, in fairness, compare the two because I haven't spent enough time with PHP to learn the advanced idioms that let me leverage it the way I can REBOL now. When you look at some advanced REBOL code (e.g. from Carl, Gabriele, Romano, Ladislav, Joel, and others) you'll be amazed at how little can do so much. That can put some people off, saying it's cryptic or too terse. REBOL can be made *very* "dense", and there are a number of subtleties to the language, but the reason some of us write code that way is rarely because we want to save space. Saving space can be a powerful motivator though. There's no doubt in my mind that being able to see an entire program in one, or just a few, screens is very helpful. You may have to think more deeply about that smaller amount of code, but it's all there in context. What happens, over time (IME), is that the way you read REBOL changes, and this dense code starts to make more sense. Refactoring is talked about a lot these days. With REBOL it doesn't mean just cleaning or reorganizing code; it means *rethinking everything*; finding new idioms; expressing the solution in a different way. In REBOL, refactoring can reduce (no pun intended) things dramatically, which isn't true in most other langugages, probably because they don't give you the expressive freedom that REBOL does. When you see dense REBOL code, it's probably been heavily refactored to be that way. Looking at how someone expresses a solution can also help in understanding *them*. i.e. if all code looks basically the same (the Python advantage), you don't "get into the head" of the person who wrote it; their code can't "communicate" very much to you. With REBOL, you can get more into their mindset, or "world view", about how they wanted to solve the problem. REBOL is all about communication and the way a person expresses themselves--with words or in code--can tell you a lot. How a person interacts; the phrases and idioms they use; are they verbose or succinct; knowing these things, and more, about a person help you communicate with them. Know your target audience. Some REBOL is intended for mass consumption, but the majority of REBOL--like most code in other languages--will be shared with smaller groups; write for them. Using the power of REBOL to facilitate communication *within* the group is where the real power lies. REBOL is different--express yourself. Happy REBOLing! -- Gregg