Who Uses Rexx? And Where?


by Howard Fosdick  ©2024 RexxInfo.org


Rexx Logos

Introduction

Who uses Rexx, and where do they use it? This article attempts to answer these questions.

It's based on the feedback I receive as administrator for the RexxInfo.org website. And also on some intensive web research. Unfortunately, the lack of usage statistics means it relies on educated guesses, so I urge any reader with pertinent information to contact me, and I'll improve the article.

To be clear, this article is not about whether Rexx is a good programming language, or whether more people should be using it, or whether it's better than "Language X", or whether popularity makes a better programming language. It's strictly a dispassionate investigation into who uses Rexx and where.


Background

Rexx was the first fully-capable general-purpose scripting language. It was invented in the early 1980s by Michael Cowlishaw at IBM. Rexx's calling card -- its most striking benefit -- is that it is both easy-to-use and powerful. That's a tough combination to pull off. Few programming languages attempt these contradictory goals; fewer still succeed.

Rexx's success meant that it quickly spread to all IBM's mainframes, and then to all IBM's other platforms. It was bundled with OS/2 and the Amiga computers from their inception. Microsoft included Rexx in their Windows Resource Kit back in the 1990s, but then thought better of it. They decided to control Windows scripting by introducing their own proprietary languages.

By the mid 1990s, Rexx acquired an ANSI standard. Soon the language ran on every operating system and platform you can name, from cell phones to supercomputers. I know of at least 15 different Rexx interpreters that run on almost any platform. Nearly all Rexx interpreters and tools joined the burgeoning open source movement.

For top performance, IBM came out with a Rexx compiler. Develop your program with the interpreter, then compile it for optimal efficiency.

Open Object Rexx (or ooRexx) was unveiled in the 1990s. It's a superset of what many now call procedural or "classic Rexx". It features very complete object programming capabilities.

Mr Cowlishaw, Rexx's creator, went on to invent NetRexx, the first language after Java to use its virtual machine and thus fully integrate with Java. NetRexx brings the coding simplicity of Rexx to the Java environment.

So who uses Rexx today? Let's see...


Mainframes

For decades, IBM has offered three primary mainframe operating systems. Most call these lines z/OS, z/VM, and VSEn, but their names have often altered slightly over the years. Rexx has been the default scripting language on these computers since the late 1980s. It still dominates today. There are tons of Rexx programs doing important tasks, and most mainframers are familiar with the language.

Beyond that, Rexx integrates to every mainframe subsystem: TSO, CMS, ISPF, Xedit, editor macros, MVS Batch, SYSREXX, RACF, CCA, SMF, SDSF, NetView, CICS, DB2, CONSOLE, GCS, LINK*, ATTACH*, SYSCALL, IPCS, CPICOMM, CPIRR, LU62, APPCMVS, OPENVM, Zowe, and all address spaces or environments. Rexx is irreplaceable as an administrative or systems management tool. And it's quite popular for user applications, too.

Given that Rexx dominates mainframe scripting, an interesting question is whether mainframe use is growing or decreasing. That would tell us if this pool of Rexx programmers is growing or shrinking.

Unfortunately, IBM doesn't release sales numbers. The result is that you'll find no lack of passionate arguments for either side of this question on the internet. My own sense of it is that we're in a steady state.

Somewhere over 70% of Fortune 500 companies have mainframes. They process over 90% of the world's credit card transactions, for example.

Large companies that have mainframes nearly always keep them. Yet the once common scenario of new companies growing into mainframes is probably a story of the past, now that there are alternatives like cloud services, parallel Linux servers, and other options.

Some argue that Rexx will fade as a mainframe language as the baby boomer generation that grew up with it retires. I don't believe so. I see much evidence that younger programmers in India are keeping Rexx alive and healthy. Those who think mainframe Rexx is contracting are probably mistaking a shift in staff location for a decline in usage.


Linux, Unix, and BSD

As an open source, cross-platform languages, classic Rexx, ooRexx, and NetRexx run on all forms of Linux, Unix, and BSD. Yet Rexx has never established a strong presence on these platforms. For example, for systems support and administrative tasks, most programmers would use the default shell language that ships with the operating system. In Linux, that's Bash.

The *nix platforms are overwhelmingly open source and thus offer a veritable flood of FOSS languages. Among them is Python, the world's single most popular programming language. Python shares what I call the "Rexx ethos" -- it's easy to learn, easy to use, and easy to maintain. Yet it's very powerful and interfaces to all the tools you can imagine. Python duplicates Rexx's strengths.

Classic Rexx, ooRexx, and NetRexx all have their *nix users (I'm one of them!). But in terms of popularity, they've never broken away from a very large pack of useful open source languages.

What about mainframe Linux? Linux on System Z has been available for over twenty years. It's a popular offering: at one conference, I learned that some two thousand mainframe sites run Linux, most in addition to traditional mainframe operating systems. The Linux Foundation's Open Mainframe Project continues its work with a healthy mix of mainframe vendors and Linux distributors.

I'd love to know whether Linux mainframers have stuck with Rexx or transitioned to competitors like Python. But unfortunately I've never gotten enough feedback on this topic to form an intelligent opinion. If you know, please drop me a line.


OS/2, eComStation, and ArcaOS

Remember the "OS wars" of the 1990s? Personal computers were moving beyond DOS and the big question of the day is what operating system would replace it: OS/2 or Windows? OS/2 had the backing of IBM, but Microsoft convinced most developers -- and then the world -- that Windows was the better choice. Windows became the world's most popular operating system, and OS/2... well, what ever happened to OS/2?

The answer is that while OS/2 has completely left the public consciousness, it continues as a useful corporate product in specific niches. For example, it still powers the New York subway system and is used in some ATMs (automated tellers).

IBM stopped OS/2 support in 2006, so Serenity Systems picked up the ball in the early 2000s with their version called ComStation (eCS). Arca Noae, LLC took over about 2017 with their version, ArcaOS. They continue sales and support today. Their most recent release came out in 2023.

The reason all this matters is that Rexx shipped as OS/2's default scripting language. As such, it's what most programmers would use by default. By the time of OS/2 Warp 4 in 1996, OS/2 and successors shipped with both ooRexx and classic Rexx. Had OS/2 won the "OS Wars", Rexx would likely have been one of the world's most popular languages.

Instead, OS/2-descended platforms -- with Rexx and ooRexx -- continue as a small but useful ecosystem. You can witness the platform's health today at OS/2 websites, code repositories, or the annual Warpstock Convention if you doubt it.

Even so, it's clear that "OS/2 world" is a legacy universe. It continues to slowly contract since I did a deep dive into it a dozen years ago.

One last note: you might wonder why OS/2 never went open source. That would seem ideal for a useful niche product. It has to do with code ownership. IBM would gladly have consented to such a move -- as they did with ooRexx and NetRexx. But Microsoft and others owned pieces of the OS/2 code and so open-sourcing never happened. Clearly, once they had won the fight, Microsoft didn't want to let their opponent rise off the canvas.


ARexx

ARexx is a bit like Rexx on the OS/2 platforms in that it supports a small but active contingent of Rexx programmers. But whereas "OS/2 World" is a legacy universe, ARexx appears poised for growth. Let me explain...

The Amiga was a family of personal computers introduced by Commodore International in the mid-1980s. Like Apples, Amigas were admired for their technical superiority. And like Apple, the Amiga faced an uphill battle against the dominate Wintel monopoly of the day.

Apple survived the contest and went on to greater glory, but Commodore went under within a decade. Nevertheless, the software so many admired lived on. This includes the Rexx interpreter bundled with all Amigas as their scripting language, known as ARexx.

Today, ARexx lives on in no less than four active projects: AmigaOS 4, MorphOS, AROS, and aeROS (or AEROS).

AmigaOS 4 (or AOS4) runs on PowerPC processors. It's a closed source operating system that runs on PowerPC boards. You can obtain the latest release here.

MorphOS targets many Apple computers, the PowerPC, AmigaOne, and a smattering of other architectures. MorphOS mixes both open and closed source code. Its latest release came out in 2023.

The full name of AROS is the "AROS Research Operating System." It's an open source Amiga-like system that runs on both standard x86 PCs and PowerPCs. According to the website, builds are updated nightly and available through GitHub.

Finally, there is the European Union's aeROS project. This project brings AROS to Linux, effectively putting an AROS software layer on top of Linux. The ambitious goals include support for the Internet of Things (IoT), the Cloud, and AI integration. aeROS is an EU-funded project that is alpha testing as I write.

Altogether, these Amiga-like systems support an active pool of Rexx users. (Witness the results of their efforts at Aminet, a huge Amiga code repository.)

Based on these active projects and EU sponsorship, "Amiga World" appears poised for growth.

For more RexxInfo.org resources on ARexx and its operating environments, see this list.


Windows

Microsoft originally conceived of Windows as a personal operating system. As such they didn't see much need for a scripting language for administrative or support tasks.

But as the company moved into the server space, Microsoft realized the need for systems automation. They offered Rexx in the Windows XP Resource Kit. They also came out with VBScript in the mid-1990s, and the Windows Script Host with Windows 98. WSH interfaced to a half dozen languages including Rexx. In 2006, Microsoft obsoleted and superceded all these products with PowerShell.

Thus Microsoft grabbed ownership of scripting support for Windows. They had long ago established themselves as the primary player in the application space with Visual Basic and its several variants.

At the turn of the century, many Rexx interpreters ran under Windows. Three of them were specifically Windows-centric: R4, roo!, and Reginald. Today these three products are no longer supported, suggesting that enthusiasm for Rexx on Windows has waned.

Programmers use Rexx, ooRexx, and NetRexx on Windows, but like many other open source languages, they are minor but useful participants in the Windows universe.


Handhelds and Cell Phones

Since the days of the PalmPilot, Rexx has run on handhelds. Today, ooRexx runs on Android cell phones. It's a fun, handy tool. In terms of usage, I haven't received inquiries about it at RexxInfo.org, so I assume its user base is small.


NetRexx

I couldn't leave this topic without mentioning NetRexx. This product uses the Java development kit and virtual machine to integrate seemlessly with Java. It runs wherever Java runs. The goal is to bring the Rexx philosophy of a simpler, more human-oriented language to the Java universe.

NetRexx is truly an elegant language. It combines "...both Rexx strengths for scripting and for writing macros for applications and the Java strengths of robustness, good efficiency, portability, and security for application development."

NetRexx fans include a relatively small, eclectic mix of computer scientists, academics, and sophisticated programmers. Sometimes the value of a programming language bears little relationship to its popularity.


Conclusion

This article summarizes where programmers use Rexx today. It's based on a mix of the personal feedback I receive at RexxInfo.org and some intense internet research. Statistics on a topic like this are sparse, but I've used them where I could find them.

I'd like to improve this piece based on reader feedback, so please send me your comments to
gibberish@google.com webmasterA an-at-sign-goes-here RexxInfo a-period-goes-here org more-gibberish@aol.com. Thank you.

------------------------------------------
Go to RexxInfo.org