Jump to content

REXX: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
Ak120 (talk | contribs)
mNo edit summary
Line 5: Line 5:


==History==
==History==
The REXX language was created by [[Mike Cowlishaw]] of [[IBM]] Hursley in 1979 and the first implementation was shipped inside IBM in 1980 and as an external product in 1982, third party implementations started appearing in 1984.
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 1984.
 
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.
'''[[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 REXX implementations and tools==
==OS/2 Implementations and tools==
*[[Object REXX]] - Open source - OS/2 version discontinued, but older version shipped with OS/2 Warp 4.
*[[Object REXX]] - Open source - OS/2 version discontinued, but older version shipped with OS/2 Warp 4.
*[[Personal REXX]] - Commercial - Discontinued
*[[Personal REXX]] - Commercial - Discontinued
Line 108: Line 110:
</div>
</div>


==DOS implementations of REXX==
==DOS Implementations==
* [[BREXX]] - Open Source - Current
* [[BREXX]] - Open Source - Current
* [[PC DOS REXX]] - Commercial - included in IBM PC DOS versions 7 and higher
* [[PC DOS REXX]] - Commercial - included in IBM PC DOS versions 7 and higher

Revision as of 23:03, 23 October 2017

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 1984.

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.

Libraries, extensions and bindings

  • Bullet/REXX - Allows you to work with xBase files or databases - Commercial - Discontinued.
  • dbfREXX - Allows you to work with xBase files or databases - Commercial - Discontinued
  • Info-Zip - Compression/decompression, avl. in a REXX compatible DLL - Open source - Current
  • LesTecIO - Sundry I/O routines - Commercial - Current
  • Pro*REXX - Bindings/Interface to a Oracle Database - Commercial - Discontinued
  • RexxBase - Allows you to work with xBase files or databases - Freeware - Discontinued.
  • REXXBOS - A complete OS/2 system interface for REXX - Commercial - Current
  • REXX/CURL - Bindings to the libcURL library - Open source - Current
  • REXX/CURL - Encode, compress and encryption ext. - Open source - Current
  • REXX/GD - Bitmap manipulation extension - Open source - Sort of current
  • REXXIO - I/O routines, freeware version of LesTecIO -Current
  • REXX/ISAM - ISAM database files extension - Open source - Discontinued
  • REXX/SQL - SQL database access - Open source - Current
  • REXXSEM - Semaphore support for REXX - Used to be shareware, now freeware
  • RXULS - REXX Unicode API - Open source - Current.
  • SpUtils - PM and API functions - Open source - Discontinued.

GUI/Widget bindings

Graphical front ends and REXX development systems

  • Dr. Dialog - Freeware - Discontinued
  • GpfREXX - Commercial - Development discontinued but still available for sale at a discounted price.
  • MAID - Commercial - Current
  • VisPro/REXX - Was commercial, now freeware - Discontinued
  • VREXX - Freeware - Discontinued
  • VX-REXX - Commercial - Discontinued

Utilities and translators

  • Rexx2Nrx - Converts SAA REXX code to NetRexx - Open Source - Discontinued

OS/2 text & programmers editors with REXX support

  • Boxer - Classic REXX (Regina & IBM) and BREXX support included by default.
  • Enhanced Editor - Has syntax highlighting, auto-formatting and automatic code summary for REXX.
  • Fast Editor Lite
  • FTE - Has support for syntax highlighting, code folding and syntax-aware autoindent. - Open source - Current.
  • Future Wave Editor - macro & syntax support included by default - Shareware - Current.
  • KEDIT - XEDIT clone - Commercial - Discontinued.
  • Preditor/2 - REXX template with syntax highlighting - Commercial - Discontinued.
  • SourceLink - Commercial - Discontinued - Browser/Editor/Visualiser.

Source code browsers, visualisers, analysers and other utilities

  • Exuberant ctags - Creates index files out of REXX source files - Open source - Current.
  • Pillarsoft Suite - Contains a code template tool with REXX support - Shareware - Discontinued
  • REXX/Trans - Helps you use REXX as a macro lang. in your app - Open source - Current.
  • REXX/Wrapper - Wraps REXX code into a semi-exe - Open source - Current.
  • SourceLink - Commercial - Discontinued - Browser/Editor/Visualiser.

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.

OS/2 applications that can be scripted with REXX

OS/2 based application that have explicit REXX support, other software that has some sort of scripting support can sometimes be "hijacked" to use REXX as well by shaping the output of your REXX script to what the application expects.

  • Enhanced Editor - Text editor
  • Embellish - Bitmap graphics editing
  • Future Wave Editor - Text editor
  • Gnuplot - Plotting package
  • HyperAccess - Communications program
  • Impos/2 - Bitmap graphics editing
  • KEDIT - Text editor
  • Kermit 95 - Communications
  • LPEX - Editor, part of VisualAge C++
  • Lotus 1-2-3
  • Mesa 2 - Spreadsheet
  • PhotoGraphics Pro - Line/pixel graphics
  • PM-Mail - E-Mail program
  • REXXterm - Communications program
  • SourceLink - Source code browser/editor/visualiser
  • THE - Editor
  • ZOC - Communications program

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

DOS text & programmers editors with REXX 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

REXX implementations that run under Java

Publications

For listings of REXX related books and general articles see the REXX Bibliography.

Local articles

Tutorials and other learning material

Czech language tutorials

Links

Built with REXX
  • SRE-HTTP - A web server written primarily in REXX
Standards