Aviva Directory » Computers & Internet » Programming » Rexx

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

Search for Rexx on Google or Bing