by Howard Fosdick ©2025 RexxInfo.org
Who uses Rexx, where do they use it, and why? This article attempts to answer these questions.
It's based on the feedback and statistics I receive as administrator for the RexxInfo.org website.
Also, professor Till Winkler of the Vienna University of Economics and Business in Austria conducted a survey through the Rexx Language Association in 2025 that provided feedback from over 100 RexxLA members.
And finally, I pursued web research in conjunction with RexxInfo.org website visitors.
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".
This is strictly a dispassionate investigation into who uses Rexx, where, and why.
This topic is worthy of investigation because Rexx is used across an incredibly wide range of platforms. Let's see if we can make sense of it all.
Rexx is widely acknowledged as the first general-purpose scripting language. It was invented in the early 1980s by Michael Cowlishaw at IBM.
Rexx's calling card is that it is both easy-to-use and powerful. That's a tough combination to pull off. (Rexx uses specific techniques to achieve this, which you can read about in this article.)
Rexx offers the benefits of the best scripting languages: easy syntax, a clean design, and built-in interactive debugging. It acts as a glue language. So developers can easily stitch together all sorts of existing code (libraries, packages, interfaces, operating system functions, system commands, etc.) for higher productivity.
After its invention, Rexx very quickly spread to all IBM's mainframes. Then, to all IBM's other platforms, including mid-range and personal computers. Rexx was bundled with OS/2 and the Amiga computers from their inception. Microsoft included Rexx in their Windows Resource Kit in the early 2000s.
These figures from Till Winkler's 2025 survey of the Rexx community show how today Rexx use spans a wide variety of platforms and continents:
(Note: RexxInfo.org statistics indicate that India is underrepresented in the second diagram, as there is a strong mainframe user base in that nation. Indian nationals have developed numerous Rexx Youtube videos and tutorial presentations.)
Rexx acquired an ANSI standard in 1996. 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. The strong Rexx standards give them an essential commonality.
Nearly all the Rexx interpreters and its many hundreds of tools joined the burgeoning free and open source software (FOSS) movement.
Open Object Rexx was unveiled in the 1990s. It features very complete object programming capabilities, including advanced features like multiple inheritance. It's a superset of what many now call procedural or "classic Rexx", so it runs all procedural Rexx programs.
ooRexx, as it's now called, runs on all the major operating systems (Windows, Linux, Unix, BSD, macOS, and Android). Like most Rexx interpreters, it's free and open source. It's supported by the non-profit Rexx Language Association (or "RexxLA").
Mr Cowlishaw, Rexx's creator, went on to invent another programming language in the 1990s, a Rexx-like language called NetRexx. NetRexx was the first language after Java to use the Java virtual machine. It fully integrates with Java and brings the coding simplicity of Rexx to the Java environment. You can use it to develop applications, servlets, beans, classes, methods, and all other Java entities. You can intermix NetRexx and Java objects however you like.
That's a bit of background. So who uses Rexx today? And where?
Here's the agenda...
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. It's irreplaceable as an administrative or systems management tool. Its interfaces include TSO, CMS, CICS, ISPF, Xedit, editor macros, MVS Batch, SYSREXX, RACF, CCA, SMF, SDSF, NetView, DB2, CONSOLE, GCS, LINK*, ATTACH*, SYSCALL, IPCS, CPICOMM, CPIRR, LU62, APPCMVS, OPENVM, Zowe, and all address spaces or environments.
As well as system use, Rexx is popular for user applications, too. IBM even offers a Rexx compiler. Develop your program with the interactive interpreter, then compile it for optimal run-time efficiency.
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.
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. (Often these arguments are driven by sales motives.)
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.
Statistics show that large companies that have mainframes nearly always keep them. Mainframes continue their role as essential building blocks in large corporate data centers.
However, the once common scenario of new companies growing into mainframes is probably a story of the past. Now, new or growing companies have many alternatives to building the traditional mainframe corporate data center, including 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 countries like India are keeping Rexx alive and healthy. Those who think that the use of mainframe Rexx is shrinking are probably mistaking a shift in staff location for a decline in usage.
As well as all its mainframes, Rexx runs on all other IBM computers. These include their popular mid-range IBM i Series® (previously known as i5/OS and OS/400) and Power® Systems.
Rexx performs a unifying role across all IBM computers, providing a universal language for portability of both programmer skills and code.
Remember the "OS Wars" of the 1990s? Personal computers were evolving beyond DOS and the big question of the day was what operating system would replace it: OS/2 or Windows?
OS/2 had IBM's backing, 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).
OS/2 support shifted from IBM to Serenity Systems in the early 2000s with their version called ComStation (eCS). Arca Noae, LLC took over about 2017 with their version, called ArcaOS. They continue sales and support today. Their most recent release came out in 2023.
The reason all this matters is that both classic Rexx and Object Rexx shipped as OS/2's bundled scripting languages. They're what most programmers would use by default. 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 continuing use today at OS/2 websites, code repositories, or the annual Warpstock Convention. ArcaOS ships with both classic and object Rexx.
But make no mistake, "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 owned pieces of the OS/2 code so open-sourcing never happened. Clearly, once they had won the OS Wars, Microsoft didn't want to let their opponent rise off the canvas!
ARexx is a bit like Rexx on the OS/2-descended platforms in that it supports a small but active contingent of Rexx programmers. But whereas "OS/2 World" is a shrinking 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 bust. Yet the Amiga software that so many admired lived on. This includes the Rexx interpreter bundled with all Amigas as their scripting language, known as ARexx.
Today, ARexx is used in no less than four active platforms: 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.
AROS is an open source Amiga-like system that runs on both standard x86 PCs and PowerPCs.
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 resources on ARexx and its operating environments, see this list.
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 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 the large pack of useful but secondary 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've heard differing opinions as to whether Linux mainframers have stuck with Rexx or transitioned to competitors like Python. If you have any definite information on this subject, please drop me a line.
Microsoft originally conceived of Windows as an interactive 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 and the Windows Script Host in the 1990s. 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. A fourth, Regina, offered many Windows-specific extensions.
Today only Regina remains active. The three Windows-specific products are no longer supported, indicating that enthusiasm for Rexx on Windows has waned.
Programmers continue to use Rexx, ooRexx, and NetRexx on Windows. Like many other FOSS languages, they are useful but minor participants in the Windows universe.
The story of Rexx and ooRexx on macOS is similar to the story with Windows. Apple promotes its own proprietary scripting language AppleScript in place of all competitors. Rexx and ooRexx are among the many useful FOSS alternatives that have their fans but have never gained significant market share on the platform.
Rexx has run on handhelds since the days of the PalmPilot. Today, classic Rexx and ooRexx run on Android cell phones. They're fun, handy tools.
Couple ooRexx with an add-on called BSF4ooRexx, and the combination gives you all the capabilities of Java programming through ooRexx. You get the power of Java in an easier Rexx language on your Android.
Alternatively, you can run the BRexx interpreter with the Scripting Layer for Android, or SL4A. SL4A provides a host of functions to Android Rexx that give you full programming control of your phone.
Finally, a third Rexx interpreter called Rexxoid gives you the ability to program commands to the Android shell.
And what about the iPhone and iPad? Regina Rexx runs under the iSH app, downloadable from Apple's App Store. iSH runs a Linux shell environment locally on your iOS device, using a usermode x86 emulator.
Judging by download statistics and the relatively few inquiries I receive about running Rexx on cell phones, I believe that Rexx has proved itself useful on mobile devices, but that the user community is probably quite small.
Another place you'll see Rexx used is in mainframe emulation.
The Hercules emulator enables you to run mainframe instruction sets on your PC. So you can run a mainframe on your Windows, Linux, or Mac computer.
Due to licensing restrictions with current mainframe operating systems, people use one of the older IBM mainframe OSs that are either public domain or "copyrighted software provided without charge."
The two most popular are MVS (OS/VS 3.8) and VM/370 (CMS). Since both these operating systems pre-date Rexx, an open source project ported BRexx to them. The project is called BRexx/370. It's available for free download at GitHub here for MVS and here for CMS.
I was very surprised at how many people are involved in mainframe emulation. And at their high level of engagement. Many find this a fascinating hobby.
There is serious corporate use, too. IT professionals use this for serious training and acquiring mainframe skills.
In the form of BRexx/370, Rexx is central to all these efforts. Rexx is the "glue language" of many mainframe systems, and now it's the glue language for mainframe emulation.
If you'd like to try it out, my article How to Run a Mainframe on Your PC! tells you everything you need to know. Have fun!
I couldn't leave this article 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.
This article summarizes where programmers use Rexx today. It's based on a mix of the statistics and personal feedback I receive at RexxInfo.org, some personal internet research, and Till Winkler's survey conducted via the Rexx Language Association. Here are my findings...
1. Rexx continues as an important programming language in corporations. It's one of the many "minor"
or "secondary" open source languages in that its user base is way smaller than that of the most popular scripting languages, such as Python. Yet it's widespread in corporations, especially on mainframes, and vital to many operations.
2. Rexx retains a loyal user base that pursues it for personal use as well. Forum postings, emails,
website statistics, and other evidence indicate a relatively small but vibrant community of Rexx enthusiasts.
3. Rexx is unusual among the secondary languages in that it's not identified with a specific niche.
Many secondary languages survive as "niche languages". Not Rexx. It is truly general purpose and is used to solve all sorts of programming problems. Programmers employ it across all major platforms and are well distributed across the globe.
One source of this strength may be that Rexx addresses all popular programming paradigms, as shown in this survey chart from professor Winkler:
4. Rexx has never been just "a mainframe language". A few folks mistakenly believe this myth because Rexx has long been the de facto scripting language for mainframes.
But the myth is false. Rexx spans platforms, nations, and programming paradigms, and is used to solve all kinds of programming problems.
5. The Rexx community naturally coalesces about three language variants: classic Rexx, object-oriented Rexx, and NetRexx. This is a unique aspect of the Rexx community that differs from those of most other programming languages.
Many Rexx programmers use one of these three technologies and rarely venture into the others. I would even go so far as to state that most Rexx programmers identify solely with one of these three technologies.
6. Rexx's popularity is consistently underrated by those who measure programming language popularity. Methodologies typically consider "Rexx", "Open Object Rexx", and "NetRexx" as entirely different, completely unrelated languages. If the user base from the three groups were summed, Rexx would score a significantly higher popularity ranking.
7. Rexx users are distributed across a wide range of operating systems. In this, Rexx avoids the "niche" fate of many secondary programming languages that retreat to a single platform.
8. Rexx boasts a vibrant and active user community with strong leadership. Forums, website statistics, product development, huge code repositories, and Rexx Language Association activities and its strong leadership all support this conclusion.
If you have any information that can improve this article, please send your comments to me at
gibberish@google.com webmasterA an-at-sign-goes-here RexxInfo a-period-goes-here org more-gibberish@aol.com. Thank you!
Bonus:
Click here for a free download of the comprehensive up-to-date book on the Rexx language -- Rexx Programmer's Reference, 2nd Edition (2025).