I don't hate REXX. In fact, I had an absolutely grand time using AREXX to script up all kinds of bizarre things on my Amiga, like using the progress percent of an FTP client as the parameter to some image program or another (ImageFX maybe?) to generate a bolt of lightning that grew from one corner of the screen to the opposite as my modem chugged away. It was neat and I love playing with it.
But, outside an environment like that where it was integrated into practically every major program running on the system, I wouldn't want to have to rely on it again. Programming languages that get rid of all the rules impose their own kind of mental overhead, and I'm not smart enough to be 100% detail-oriented 100% of the time.
It was still awfully cool. AppleScript is probably the closest modern, widely available similar language I can think of.
I only ever used ARexx on the Amiga back when I was a kid and it was amazingly powerful, though I'm not sure how much I'd consider this a function of the language itself rather than the ecosystem you got when all of your favourite software was built with it in mind.
Unfortunately, an ecosystem like that doesn't really exist on the desktop any more, so a lot of the utility is missing. Every now and then I feel an urge to try to mimic the sort of thing that you could do in ARexx easily, only on a modern desktop, and end up having to cobble together some D-Bus monstrosity that is not nearly as fun.
Yes, ARexx was also something different that is more akin to scripting AND having Microsoft COMs for interoperability. Really revolutionary at that time for automation and process interactions.
These days, Lua is a better alternative. Rexx isn't a bad language, but it's very dated. It's better than recommending BASIC, but only marginally. We have better alternatives these days.
Also, are there any decent embeddable Rexx interpreters around?
> I don't know why, but a search on either Bing or Google for "posix shell" points to the older version.
Probably because it's only been out for a few months. I've found Google is fantastic at returning Python 2.6 and Python 3.7 or 3.8 documentation without jumping through hoops in my search terms (if it lists the official documentation at all rather than blogs and random tutorials), but lousy at getting anything current. I imagine they have the same problem with other new material.
I love Rexx and have used it extensively on IBM mainframes and PC's way back. That said it seems like the ecosystem has moved away from the the types of integrations where Rexx was strong. On IBM mainframes it was always the tight integration with things like CMS and XEDIT that made it great.
If you're using Rexx today on e.g. MacOS or Linux I'd be interested in hearing how that's working for you... My goto for scripting these days would be Python in those environments (or bash).
Oh man, I remember using an XEDIT+Rexx email client back in the day on VM/CMS that was mind blowing for its time. The stuff available for Unix and VMS paled in comparison.
But it definitely was the tight integration with XEDIT and the OS that made Rexx so perfect. I don’t think it would work so well for my modern use cases.
I'd echo what you said, without that ecosystem and integration, perl and python are far better. Personal history: I went from perl in college to REXX because of IBM. However, once I left IBM, I went back to perl and python.
Are the open source implementations of Rexx widely adopted? This article highlights them, but I don't think I've ever run across them. It would be interesting to hear about where these have been adopted, relative to other scripting languages that fill a similar niche (presumably mostly Python, Perl, and sh)?
(Apropos of nothing else, it seems worth noting that Rexx is a product within IBM's suite and that this website appears to be owned by Red Hat, now an IBM subsidiary.)
Yeah, the main references I found to IVR systems and REXX were from IBM articles discussing IVR, and some open-source Asterisk-based systems using ooRexx that appear to have been created as an open-source alternative to IBM OS/2 IVR solutions that used REXX.
OS/2 is the primary environment where I had experience reading and writing REXX a long time ago. I was also aware of it being used in IBM mainframe systems, but I had no direct experience there.
My last experience with IVR and REXX was setting up a system in the mid-2000s to do identity verification for loan applicants. I can't remember the name of the software. It ran on Windows server and wasn't an IBM product.
I also used REXX on OS/2 systems including doing some development using Watcom VX-REXX which you can basically think of as Visual Basic but with REXX. I released a GUI FTP program I developed with it to the OS/2 BBS but last I looked couldn't find it in the OS/2 BBS archives.
Yes, sadly I was not rich enough as a kid to own an Amiga. By the time I could have afforded one, it would have been more for the novelty of having one than something practical for me to spend money on.
> All variables contain strings. If the strings represent valid numbers, one can perform arithmetic operations with them. This simple concept of dynamic typing makes all data visible and simplifies tracing and debugging.
Interesting to see duck typing advertised as a feature. I feel like the programming world is going strongly in the opposite direction.
> Interesting to see duck typing advertised as a feature.
Speed of development is a legitimate factor to consider when making a choice of language for a project.
> I feel like the programming world is going strongly in the opposite direction.
There's a concerted corporate effort to push the programming world in that direction. It's not born out of a particularly strong rationale and not backed by the kind of organic efforts that would actually ensure it's long term success.
Meanwhile we have the technology to fully isolate every process on a machine from everything else on the machine. Do we use this? No. Instead we harass programmers to use languages based upon corporate tastes instead of actual engineering acumen. The desktop doesn't get any more secure and opening a random text message can destroy your life regardless of what language the messaging application was coded in.
Had to look it up but apparently rexx was first released in 1979. My first thought for a contender was the Bourne shell for unix but it too was released in 1979. The earlier Thompson shell(1971) apparently was not really designed for scripting. csh was released with 2bsd in 1978.
But then I got off the unix kick and looked at the xerox alto which had a smalltalk environment and smalltalk was first released in 1972 and I would say that due to it's interactive nature smalltalk is defiantly a scripting language.
But then I looked at lisp, and it is hard to say if lisp is a scripting language, it could have been, however it was invented and implemented before there were really environments to script. but I am still going to give the award to lisp. and from the wikipedia page, I thought this was pretty great.
"According to McCarthy
Steve Russell said, look, why don't I program this eval ...
and I said to him, ho, ho, you're confusing theory with practice,
this eval is intended for reading, not for computing.
But he went ahead and did it.
That is, he compiled the eval in my paper into IBM 704 machine code,
fixing bugs, and then advertised this as a Lisp interpreter, which it certainly was.
So at that point Lisp had essentially the form that it has today ...
"
> Had to look it up but apparently rexx was first released in 1979
REXX was designed as successor to two earlier, more cumbersome scripting languages for the IBM VM/CMS operating system, EXEC and its successor EXEC 2. So arguing REXX is the “first” scripting language requires ignoring REXX’s direct ancestors
Articles recommending that I consider a programming language tend to be more compelling for me if they include, you know, an actual example or two of code in that language.
Yes, I can go look at the Rexx Wikipedia page or something, but I shouldn't have to.
I had now idea REXX still exists. I played a lot with REXX while being a trainee at IBM in 1987/88. I have not used it since and remeber very little. Would there be any reason to prefer it over let's say Python?
I don't hate REXX. In fact, I had an absolutely grand time using AREXX to script up all kinds of bizarre things on my Amiga, like using the progress percent of an FTP client as the parameter to some image program or another (ImageFX maybe?) to generate a bolt of lightning that grew from one corner of the screen to the opposite as my modem chugged away. It was neat and I love playing with it.
But, outside an environment like that where it was integrated into practically every major program running on the system, I wouldn't want to have to rely on it again. Programming languages that get rid of all the rules impose their own kind of mental overhead, and I'm not smart enough to be 100% detail-oriented 100% of the time.
It was still awfully cool. AppleScript is probably the closest modern, widely available similar language I can think of.