It’s easy to get lost in the world of “little languages” — quite a few have been written to scratch some itch of a company, individual, or project. Rexx is one of these languages, with a long history of use on IBM operating systems, and good current implementations for Linux and other Free Software operating systems. Rexx occupies a useful ecological niche between the relative crudeness of shell scripting and the cumbersome formality of full systems languages.
I have long consigned Rexx to a “would have died off long ago if not for life-support from IBM” corner of my mind. But perhaps it deserves more consideration. The (IBM-sponsored) article makes a reasonable case that the language competently occupies the niche described in the summary.
I started playing around with OS/2 back around version 2.11. I noticed Rexx then and thought about learning it, but didn’t. I do regret that, because I didn’t learn a scripting language (not counting MS BASIC) until 1998 when I picked up Perl.
I just think about all the time I wasted writing small programs in C to do things I could have done a whole lot easier in a scripting language like Rexx!
On another note, I believe every programmer (and system administrator) should take the time to learn at least one scripting language. Since I learned Perl, it has saved me literally hundreds of hours I would have wasted writing small one-off programs in C or C++ to parse text files and other such stuff.
I’ve been giving a lot of thought to trying out Python and/or Ruby. Any thoughts on these two?
The Amiga article reminded me of AREXX. I had some scripts that would tie several AMIGA programs together to create new functionality. Too bad . . . it worked REALLY well. It was very powerfull on the AMIGA, and if you were carefull you could get it to function cross platform.
DoctorPepper:
> I’ve been giving a lot of thought to trying out Python and/or Ruby. Any thoughts on these two?
Ruby is Perl made right: it is much more readable.
The problem with Ruby is that it is “a bit young”: issue in threading, no Unicode, small libraries.
Python is more developped than Ruby (less than Perl of course), it is a bit verbose (self everywhere) but it looks cleaner.
If Ruby was as advanced as Python, I would prefer Ruby, but in the current situation, the choice between both is hard!
Anyway IMHO both Python and Ruby leads to code *much* more readable, maintenable than Perl..
I have progreammed in ARexx (Amiga REXX) for several years, writing small everyday’s scripts up to complex applications.
While ARexx was a bit limited (it was based on a very early REXX) the author states, that REXX was developed mainly for string-control. IMO this is wrong. REXX was intended to be a process-control language from the beginning. Compared with Perl, REXX’ text-processing is limited.
Now, on a side-note: Rexx still is supported on Windows. The Windows Scripting Host (WSH) can be used with REXX as well (also VBScript, JScript and Python, Perl).
And this is what I miss for Linux: A generic scripting host. In comfort similare to the demonized ARexx-interpreter on AmigaOS, however, this time not an interpreter for a specific language, but a server/demon, where any application could register an API to export. This API then could be programmed from any language. Maybe even a ‘modular’ approach, where the interpreter does not get called by command-line instead, it sits in memory, being available far quicker. Especially for repeating script invocations.
Now *that* is a need for Freedesktop.org !