REXX

An interpreted, procedural structured language that is included with every version of OS/2 1.2EE and later, IBM PC-DOS 7.0 and most AmigaOS variants and clones in addition to all current and recent IBM mainframe and minicomputer operating systems.
Although REXX is a generic programming language and can be (and has been) used to construct everything from simple utilities to large business applications, it is primarily used as a scripting or macro language, and as such is unusually easy to learn.
History
The REXX language was created by Mike Cowlishaw in 1979 under VM/CMS. The second implementation (2.00) was used inside IBM in 1980. Language level 3.20 was included in VM/SP Release 3 which was released in 1983.
Third party implementations started appearing in 1985.
In 1987 REXX was chosen to be the Systems Application Architecture (SAA) procedural language.
In 1989 the first version of IBM CMS REXX Compiler was released.
Object REXX is a later version of the language that has been given object-oriented extensions modelled on those present in Smalltalk (IBM's language of choice at the time), while it is mostly compatible with Classic REXX there are some minor differences that mean that most larger REXX programs have to have at the least some modifications to run correctly under OREXX, and this has meant that in the OS/2 world it never gained any real traction. Amiga REXX is a clone of IBM's Classic REXX that has extensions to help its use as a mechanism for application to application and/or inter-application communication, Regina REXX supports those extensions.
OS/2 Implementations and tools
- Object REXX - Open source - OS/2 version discontinued, but older version shipped with OS/2 Warp 4.
- Personal REXX - Commercial - Discontinued
- Regina REXX - Compatible with Classic REXX - Open Source - Current
- Procedures Language/2 REXX (aka SAA REXX) - Development discontinued, but shipped with all OS/2 32-bit versions.
Utilities and translators
- Rexx2Nrx - Converts SAA REXX code to NetRexx - Open Source - Discontinued
REXX source code snippets, archives and collections
Small programs or routines that you can integrate into your own programs or study to learn from, but are not delivered in library form.
- Album of Algorithms and Techniques for Standard Rexx - Vladimír Zábrodský's collection of REXX code, mostly small snippets.
- BuildSOM - Creates program and folder objects via SOM.
- Get Usenet News Articles Using REXX, Network News Transfer Protocol and Sockets
- Harold Zbiegien's date algorithms in REXX
- Mark's MVS Utilities - While mostly XEDIT and MVS related there are a few worthwhile REXX programs in there as well.
- norrsken data teknik eCS tools - Helge Nordmann's REXX utility collection.
- PLEAC-REXX - Collection of common REXX rutines
- REXX examples from Rob van der Woude's Scripting homepage
- Rex Swain's B2MMDDYY.REX - Convert Base format date to MM/DD/YYYY
- Send Mail to an Email List with REXX, SMTP and Sockets
- Stupid OS/2 Tricks/REXX Commands
- Walter Pachl's REXX code, on rosettacode.org - Contains many REXX snippets.
- Update Homepage
DOS Implementations
- BREXX - Open Source - Current
- PC DOS REXX - Commercial - included in IBM PC DOS versions 7 and higher
- Compact Rexx (CRX) - Open source - Discontinued
- Personal REXX - Commercial - Discontinued
- Portable Rexx - Commercial - Discontinued
- Regina REXX - Compatible with classic REXX - Open Source - Current
- REXXPC88 - 1987/88 IBM internal
Text editor support
- Boxer - Regina, IBM and BREXX support included by default
- FTE - Has support for syntax highlighting, code folding and syntax-aware autoindent. - Open source - Current
REXX implementations that run under WinOS/2
- Object REXX - Open source - Win32s version discontinued - IBM versions supported running under Win3x with Win32s.
- Personal REXX - Commercial - Discontinued
- WinREXX - Commercial - Discontinued
- WREXX - Commercial - Discontinued
Java implementations
Publications
For listings of REXX related books and general articles see the REXX Bibliography.
- Ian Collier's REXX tutorial
- Vladimír Zábrodský: An Introduction To The REXX Programming Language - From OS/2.cz
- Keith Watts: The Classic REXX tutorial - Teaches the language to "Language Level 4.00 (TRL-2)", that is roughly the same as the SAA REXX shipped with OS/2
- REXX: THE LANGUAGE - Introduction and tutorial by James Barry of Kyla Computing.
- Using REXX to repair and control the desktop - From Les Bell and Associates Pty Ltd
- Matt Slocum: Rexx Programming Guide - Nov 2005
- Czech language tutorials
- Vladimír Zábrodský: Úvod do programovacího jazyka REXX - Short tutorial introduction to REXX in Czech.
Links
- The Rexx Language Association
- Ian Collier's REXX page
- IBM REXX page
- Mark Hessling's Home Page - Lots of Rexx and Regina information and files from the gent behind Regina REXX, including a Rexx manual
- REXX Tips & Tricks - In English & German, not to be confused with our REXX Tips & Tricks, this is material collected by a mainframe REXX programmer and some of it does not apply to OS/2 REXX.
- Cosmos Grammaticus - REXX related blog
- USENET: comp.lang.REXX
- REXX LA forum - The official REXX Language Association forum
- REXXLIST - Long running list
- Built with REXX
- SRE-HTTP - A web server written primarily in REXX
- Standards
- ANSI standard for Rexx (X3.274), Published in 1996.
- Extended REXX proposal - Published in 1998