Object REXX
Object REXX (OREXX) is an object-oriented programming language developed by IBM that is basically an extension to SAA REXX (Classic REXX) that gains the object model from Smalltalk with a few other language extensions.
While Object REXX is mostly compatible with Classic REXX there are some minor differences that mean that most REXX programs have to have at the least some modifications to run correctly under OREXX, and this has meant that in the OS/2, AIX and IBM mainframe worlds it never gained any real traction as it was incompatible with a large existing codebase, while on MS Windows and Linux OREXX has become the standard. This eventually lead IBM to cease all Object REXX development and hand it over to a third party.
Implementations
Classes and bindings
In addition to classes developed specifically for it, Object REXX can use extensions intended for Classic REXX, you can take a look at the REXX page for some of those. There are usually no real compatibility issues, but care needs to be taken with multi threading if you use it, Classic REXX always addresses extensions on a single thread so some extension packages expect the tread that initiated the extension to be the only thread that uses it.
- OREXX/SQL Object Framework - Classes that allow you to access and manage SQL databases
Utilities
- RexxLiterate - Automatic document generator - Open source
- Text editor support
- Enhanced Editor (EPM) - Script Editor shipped with OS/2 Warp 4 OpenDoc
- jEdit - Java based editor - Object REXX syntax highlighting built in
Articles
- Rony G. Flatscher: Resurrecting REXX, Introducing Object Rexx
Publications
- Veneskey; Trosky; Urbaniak: Object REXX by Example – Aviar 1996, ISBN 0-9652329-0-5
- Tom Ender: Object-oriented Programming with REXX - Wiley 1997, ISBN 0-471-11844-3
Links
Small programs or routines that you can integrate into your own programs or study to learn from, but are not delivered in library form.
- Walter Pachl's code on rosettacode.org - Mostly Classic REXX but also a few Object REXX snippets.