H ? « »

Language peer sets for REXX:
United Kingdom
United Kingdom/1979
Designed 1979
1970s languages
Fourth generation
High Cold War
String and List Processing
String and List Processing/1979
String and List Processing/uk


alternate simple view
Country: United Kingdom
Designed 1979
Published: 1979
Sammet category: String and List Processing

Restructured EXtended eXecutor. M. Cowlishaw, IBM ca. 1979. (Original name: REX. They also call it "System Product Interpreter"). Scripting language for IBM VM and MVS systems, replacing EXEC2

a procedural language that allows programs and algorithms to be written in a clean form. It is easy to use by experts and casual users alike. REXX has been designed to make easy the manipulation of the kinds of symbolic objects that people normally deal with such as words or numbers. REXX has the capability to issue commands to it's host environment and to call programs and functions written in other languages. REXX is also designed to be independent of it's supporting system software when such commands are kept to a minimum. Designed by Michael Cowlishaw, IBM (UK).  

from Cowlishaw
"This new language, initially called REX (because the name sounded nice) was very much driven by the desire to make programming easy. It borrows most of its features from other languages, especially PL/I and EXEC 2, but these features are modified or expressed in ways that make them easy to use (but not necessarily easy to implement!). The code fragment shown above would look quite different; literal strings are quoted, but language keywords and variable names are not obfuscated by special characters:

   'COPYFILE' fname ftype fmode '= BACKUP ='
   if rc>0 then say 'Copy failed with return code' rc

This difference between the two languages becomes more striking as the complexity of the program increases.

The first specification for the language is dated 29 March 1979. This was written before any implementation was even designed, and it was circulated to a number of people for comment: this began the tradition of documentation before implementation that characterized the development of Rexx. This first specification included three sample programs written in Rexx to show how the language would look; those programs would seem familiar to today's Rexx programmers, although some details have changed. "

Related languages
EXEC2 REXX   Evolution of
PL/I REXX   Influence
REXX NETREXX   Evolution of
REXX Object REXX   Evolution of

  • Cowlishaw, Mike F (1984) Cowlishaw, Mike F "The Design of the REXX Language" IBM Systems Journal 23(4): 326-335 (1984) Abstract pdf Extract: Introduction Extract: What kind of language is REXX? Extract: The REXX language Extract: Language summary Extract: Fundamental language concepts
  • Cowlishaw, M.F. (1985) Cowlishaw, M.F. "The REXX Language: A Practical Approach to Programming", Prentice Hall, Englewood Cliffs, NJ, 1985
  • Quercus Systems (1985) Quercus Systems "Personal REXX User's Guide, Version 3.0" 1985 Abstract Online copy at UIC
  • Bodi RA, Kaulich TW (1992) Bodi RA, Kaulich TW "A Rexx-controlled developing environment for implementing intuitive user interfaces (IUI)" Comput Methods Programs Biomed. 37(2) Mar 1992 pp75-84 Abstract
  • Dave Gomberg, (1993) Dave Gomberg, "Modern Programming Using REXX"
  • Thiagarajan, Raja (1993) Thiagarajan, Raja "SIX RULES OF THUMB FOR BEGINNING REXX PROGRAMMERS (Who Already Know Pascal or C)" 1993 Online at UIC
  • Cowlishaw, Mike (1994) Cowlishaw, Mike "The Early History of REXX" pp15-24 Abstract Online at IEEE
          in (1994) Annals of the History of Computing 16(4) Winter 1994
  • Marks, Brian and Milsted, Neil (1996) Marks, Brian and Milsted, Neil "ANSI X3.274-1996: American National Standard for Information Technology – Programming Language REXX", ANSI, February 1996.
          in (1994) Annals of the History of Computing 16(4) Winter 1994
  • Flass, Peter (2000) Flass, Peter "Languages Related to PL/I" in "The PL/I Language" Online copy at Peter Flass's PL/1 site
          in (1994) Annals of the History of Computing 16(4) Winter 1994
    Search in: Google  Google scholar  World Cat  Yahoo  Overture  DBLP  Monash bib  NZ  IEEE  ACM portal  CiteSeer  CSB  ncstrl  jstor  Bookfinder