This part of our guide to computer programming language is on the Rexx programming language and its variants and dialects. These include Rexx, Object Rexx (ooREXX), NetRexx, Kermit Rexx (KEXX), and possibly others.
Rexx was developed at IBM by Mike Cowlishaw in the late 1970s, first appearing in 1979. Rexx is a procedural programming language developed for the Conversational Monitor System (CMS) component of the VM/SP Release 3 operating system. It is a structured, high-level programming language designed for ease of learning and reading.
Organizations throughout the world implemented Class Rexx interpreters for various platforms, including Windows, Unix, Linux, macOS, and Android.
Rexx is a full language that can be used as a scripting, macro language, and application development language, and is often used for processing data and text, and generating reports. It works well in Common Gateway Interface (CGI) programming and has served as the primary scripting language in some operating systems, such as OS/2, MVS, VM, and AmigaOS.
Rexx is known for its clear syntax and ease of use, as well as for symbolic object manipulation, and is suitable for system administration scripts, text processing, and data manipulation.
While Rexx has seen limited adoption in recent years, it is still in use at IBM for its z/OS operating system, where it is considered particularly suited for command procedures, application front ends, macros for ISPF edit, prototyping, application programs that are going to be used in more than one environment, and in APPC/MVS transaction programs.
Designed by Simon C. Nash, Object Rexx was initially produced by IBM for its OS/w operating system in 1988, and was later ported to Microsoft Windows and IBM's AIX. Since 2004, Object Rexx has been maintained and further developed as Open Object Rexx (ooRexx) by the Rexx Language Association.
Object Rexx retains all of the features and syntax of Classic Rexx while adding full object-oriented programming capabilities. Other features include subclassing, polymorphism, data encapsulation, and multiple inheritance via mixin classes.
It offers an easy transition from Classic Rexx, with ANSI standard compliance, and its biggest strength is that it's still under active maintenance and development. Object Rexx is suitable for scripting, automation, and system administration. As compared to mainstream languages, it has experienced limited adoption, however.
Object Rexx is available under the CPL and GPL licenses.
Created by Mike Cowlishaw for IBM, NetRexx is a variant of the Rexx programming language to run on the Java virtual machine. It first appeared in 1996, and IBM transferred the NetRexx source code to the Rexx Language Association in 2011. Actively developed and maintained, NetRexx is available to download from the Rexx Language Association under the ICU license.
NetRexx combines elements from Rexx and Java, emphasizing human readability. Offering a human-friendly syntax, NetRexx bridges the gap between Rexx and Java, although it has seen limited adoption outside of specific contexts, such as small-scale projects and for educational purposes.
Created in the 1980s at Columbia University, Kermit Rexx (KEXX) integrates Rexx with the Kermit file transfer protocol. It features Rexx scripting combined with Kermit functionality and file transfer capabilities. However, KEXX is a niche application that has not seen any activity in the past four years.
Each Rexx variant caters to different needs, from classic scripting to object-oriented programming. Neither Rexx nor any of its derivates dominate the programming landscape, but they continue to find niches where their simplicity and versatility are appreciated.
 
 
Recommended Resources
A platform for developers, GitHub provides space for them to create, store, manage, and share their code, using Git software. There are currently fifty public repositories matching Rexx, most of which are affiliated or otherwise derived from the Rexx programming language or one of its implementations or forks. Each of these repositories can be found and accessed from here, and most of them are open-source. Each listed repository is named, defined, and tagged.
https://github.com/topics/rexx
Offered by Coursera, a for-profit US-based online course provider, this course is intended to teach online students how to write programs using REXX for IBM z/OS, use instructions and commands that manipulate the data stack, and create user-defined internal and external functions and subroutines. Intended for programmers at the intermediate level, it is designed to take 24 hours to complete, in three weeks at eight hours a week. A sharable certificate is included upon completion.
https://www.coursera.org/learn/zos-rexx-programming
This is a complete reference for Mainframe programmers or anyone, whether they be students, software engineers, or experienced programmers, who want to master the Rexx programming language in Mainframe. Designed to be helpful for Mainframe application programming and Mainframe system programming, the tutorial will help to familiarize the student with Restructured Extended Executor (Rexx) and its functions. Examples, tools, quizzes, and a forum are available.
https://www.ibmmainframer.com/rexx-tutorial/
Powered by NetRexx, this is the official website for the NetRexx programming language, a general-purpose programming language inspired by Rexx and Java. It follows Rexx closely, with many of its concepts and most of its syntax taken from Rexx or its object-oriented version, Object Rexx. From Java, it derives static typing, binary arithmetic, the object model, and exception handling. Originally an IBM product, NetRexx has been free and open source since 2011. Documentation is available.
https://netrexx.org/
A service offered by Black Duck Software, now owned by Synopsis, Open Hub is a platform that serves as a network for open-source projects and developers, it analyzes code from the Rexx programming language, including Open Object Rexx and the Regina REXX Interpreter, an implementation of the ANSI Standard REXX Programming Language available for most operating systems. Total lines, projects, contributors, commits, code, comments, experienced contributors, and those recently active are included.
https://openhub.net/languages/rexx
Managed by the Rexx Language Association, this is the official site for the Open Object Rexx (ooRexx) open-source project that provides a free implementation of Object Rexx, available under Common Public License (CPL). A description of the language and its features is set forth, along with license details, a project charter, a list of products, contributions, project status, resource links, and downloads. Several how-to articles on the use of ooRexx are included.
https://oorexx.org/
Regina is a Rexx interpreter that has been ported to most Unix platforms (Linux, FreeBSD, Solaris, AIX, HP-UX), and several other platforms, including OS/2, DOS, macOS, and several versions of Windows. An overview of Regina is provided, along with support options, documentation, and downloads. Information about Regina applications and Rexx extensions is included, with information and information, sample programs, about licensure and where they can be acquired.
https://regina-rexx.sourceforge.io/
Intended as a free resource for everything related to the Rexx programming language, the site offers a brief introduction to Rexx and its features, along with Rexx tutorials, code and script examples, downloads of Rexx implementations as well as Rexx tools and utilities, mainframe tools, and references, such as instructions, reference cards, product manuals, and IBM manuals. How-to instructions are available, covering a wide variety of tasks related to the language family.
https://rexxinfo.org/
Rexx Language Association, The
The RexxLA is an independent, non-profit organization dedicated to promoting the use and understanding of the Rexx programming language. RexxLA manages several open-source implementations of the Rexx language, two of which are successors of previous commercial offerings from IBM. Its products, contacts, symposia, language, history, event announcements, and downloads are featured on the site, along with information on joining or contributing to the community.
https://www.rexxla.org/
The REstructured eXtended eXecutor (REXX) language is a high-level procedures language that enables inexperienced users and experienced programmers to combine REXX instructions and host commands and services into programs called REXX execs, which can execute in any MVS address space. IBM's documentation for the language highlights its features, usage, support options, the use of a data stack, storing REXX execs, and the chief applications of the language.
https://www.ibm.com/docs/en/zos/3.1.0?topic=programming-rexx-language
NetRexx is a dialect of the Rexx programming language designed to run on the Java virtual machine. It supports a classic Rexx syntax with no reserved keywords and several additions to support object-oriented programming in a manner compatible with the Java object model. The open-sourced NetRexx reference implementation is available for download on SourceForge, and Eclipse users can find an Eclipse plugin that supports the NetRexx programming language. A support forum is included.
https://sourceforge.net/projects/netrexx/
SourceForge: ooRexx (Open Object Rexx)
Hosted on SourceForge, a community resource for open-source software development and distribution, such as Open Object Rexx (ooRexx), the latest version of ooRexx for Windows can be downloaded from the site, along with other files related to the programming language. Other resources include ooRexx HTML documentation covering various aspects of the language and its features and support options, including an informational Wiki, a user support forum, and user reviews.
https://sourceforge.net/projects/oorexx/
Constructed and maintained by Mike Cowlishaw, this is an accumulation of his web pages, documents, and software. A retired IBM Fellow, Mike Cowlishaw was the key designer and implementor of the Rexx and NetRexx programming languages and was involved in the development of Object Rexx, PL/I, and C, as well as several other computer technologies and applications. His interests in computing, aviation, speleology, mapping, panoramas, and other activities are included.
https://speleotrove.com/
Tutorials Point: Rexx Tutorial
Prepared particularly for those professionals who are within the IT industries, working as specialists in the field of scripting and macro languages, as well as for professionals working in data processing and text, this is a tutorial on the Rexx programming language, designed as a scripting language. Its prerequisites are stated, and an overview of the language, its environment, installation, coding, best programming practices, and use in web programming are set forth.
https://www.tutorialspoint.com/rexx/
Why You Should Consider Rexx for Scripting
Published on OpenSource, a daily publication focused on open-source and Linux tutorials, stories, and resources, this article by Howard Fosdick discusses Rexx, a user-friendly scripting language. The article gives an introduction to the language, its layered design, its influence on other programming languages, open-source variances and interpreters, and its long history. Code examples demonstrate its use of arrays, and links to other online resources are included.
https://opensource.com/article/22/10/rexx-scripting-language