Consider Rexx for Scripting (2022)
opensource.com
opensource.com
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.
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.
Also, are there any decent embeddable Rexx interpreters around?
What do you recommend in the same conceptual space?
Hopefully the language grammar can be expressed with lex and yacc. Not being so is a problem.
Here is a way to see what is in POSIX.2:
To navigate to that same section: Click on "Shell & Utilities" in the top left, then "3. Utilities" in the bottom left.
That's the one that I use.
I also prefer the plain Apache directory list for all the POSIX.2 utilities, so I am definitely sticking with Bing & Google's recommendations.
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.
But if you want the current documentation and the Apache listing format: https://pubs.opengroup.org/onlinepubs/9799919799/utilities/
Interesting that the old URL only differs by one character; changing the first 6 to a 7 gets the later list.
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).
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.
(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.)
I'd credit the language for sending me down the rabbit holes of programming language design, self-documenting code, and literate programming. :)
But I should check it out, I had Rexx with DOS a long time ago but never looked at it.
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.
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.
Interesting to see duck typing advertised as a feature. I feel like the programming world is going strongly in the opposite direction.
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.
What are we doing?
"Arguably" sounds mean; who wants to argue?!?!
I would say there are compelling uses. Being a "first general purpose" one? Large claim that is up for a conversation. :)
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 ...
"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
Yes, I can go look at the Rexx Wikipedia page or something, but I shouldn't have to.