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

[REBOL] appreciation of rebol

From: kevin_kelleher:non:hp at: 16-Mar-2001 12:55

First, thanks to those who responded to my "substring" question. You solved my problem. Secondly, I'm writing to express my appreciation for the Rebol language. For the past three years I engaged (when I had the time) in a search for a "language I could fall in love with." I found the best formulation for the way I was felt in Keith Waclena's My Programming Language Crisis at I can do pretty much whatever I need in C, C++, or Perl. I am very good at unix shell scripting, and have some familiarity with Java. But I didn't like them, really. I wanted something a little more *intuitive* and was bothered by the fact that most languages (like Perl, for example) required me to pull in special libraries to do some tasks, and none integrated GUI-building in any elegant way. I looked at just about every free language out there; played with Python, Ruby, Tcl, Icon, and others. It took some time to get a grip on the various families of languages: logical, functional, etc., and had gotten to the point that I thought my best course of action would be to learn Scheme, Prolog, Haskell, and Squeak (a version of Smalltalk). I still think that would be a good idea, but after putting in some time in that direction, I filed the idea under the "some day" category. The problem was, I wasn't getting any return on my efforts. It takes time to learn any language, and you cannot learn a language at all well unless you WORK in it, make things with it, use it to solve some real problem. I have a tool that now runs as a combination of Korn shell and Perl scripts. It fetches a list of web pages and extracts only what's new to me (or the headlines, depending on type of page), and constructs a single page from the pieces. Some of the pages have altered their format; the tool needs some adjustments and improvements, and it would be more convenient if it ran on my PC rather the unix box. So as I studied the four languages I was looking to get to the point when I would know enough to start programming, but it was a long time coming. I could see that one command does this, another command does that, but how it all fit together was another thing. I wanted to know: "How do I open a file? How do I fetch a page from the web? How do I parse HTML and (generally) manipulate strings?" Yes, it takes time to learn a language, and usually you have to start with the basics. Forget about I/O, GUIs, networking. Well, I've known about Rebol ever since it came out, have downloaded it several times and looked at the documentation, but resisted it, I don't know why. Then I was looking for a Wiki Wiki implementation to use, and found Vanilla ( and was amazed at how compact the code was. (I didn't end up using it, but only because the Wiki-need passed.) It finally hit me - Rebol was the language I was looking for. It's a scripting language, has GUI-creation built in, doesn't require separate libraries or modules to do useful work, incorporates network commands transparently, and is terse yet comprehensible. The size of the command-set is fairly small, but it is quite powerful. I was looking for a language for my everyday tasks, and this is the one. Right away I got to work rewriting that webpage-fetching tool. I'm surprised at how quickly I'm creating it in Rebol, but I am more surprised at the way I'm adding functionality. I didn't expect to do that; I didn't think that Rebol's string parsing could match that done by sed and Perl, but I very quickly knocked out a function to extract any table from a web page, and that is an idea that I didn't even have in the original version of the tool. So, thanks to you folks at Rebol, and I hope to see Rebol more widely known and more widely used. I will certainly be recommending it to my friends and colleages. Kevin Kelleher Disclaimer: The remarks in this email are the personal opinions of this writer and in no way reflect the policies or opinions of Hewlett Packard. The present writer is not an employee or spokesperson for Hewlett Packard.