Rexx (Restructured Extended Executor) is designed to be a scripting language. Its goal is to make scripting as easy, fast, reliable, and error-free as possible. Many programming languages are designed for compatibility with older languages, and are written for specific audiences or platforms. Rexx ignores extraneous objectives. It was designed from day one to be powerful, yet easy to use.
Rexx was designed and first implemented, in assembly language, as an 'own-time' project between 20th March 1979 and the middle of 1982 by Mike Cowlishaw of IBM, originally as a scripting programming language to replace the languages EXEC and EXEC 2. It was designed to be a macro or scripting language for any system. As such, Rexx is considered a precursor to Tcl and Python. Rexx was also intended by its creator to be a simplified and easier to learn version of the PL/I programming language.
Rexx as a programming language has the following key features −
Simple syntax
The ability to route commands to multiple environments
The ability to support functions, procedures and commands associated with a specific invoking environment.
A built-in stack, with the ability to interoperate with the host stack if there is one.
Small instruction set containing just two dozen instructions
Freeform syntax
Case-insensitive tokens, including variable names
Character string basis
Dynamic data typing, no declarations
No reserved keywords, except in local context
No include file facilities
Arbitrary numerical precision
Decimal arithmetic, floating-point
A rich selection of built-in functions, especially string and word processing
Automatic storage management
Crash protection
Content addressable data structures
Associative arrays
Straightforward access to system commands and facilities
Simple error-handling, and built-in tracing and debugger
Few artificial limitations
Simplified I/O facilities
The official website for Rexx is www.oorexx.org