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.
Coexistence with Classic REXX
OS/2 Warp 4 and later releases (WorkSpace on-Demand, Warp Server for e-business) shipped with both Classic REXX and Object REXX interpreters. To switch between implementations the SWITCHRX command can be used and the system will default to the alternative version to the current one at next boot. If you want to use both at the same time you have a few options, you can specifically call the alternative version to the one you are currently using either from a command line or from a script or batch file or you can associate different extensions to different interpreters.
It is in general recommended that Classic REXX is set as the default since most OS/2 and eComStation utilities use it.
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 - Open source - Discontinued.
- 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
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.
- Update Homepage
- Walter Pachl's code on rosettacode.org - Mostly Classic REXX but also a few Object REXX snippets.
- REXX Tips & Tricks:Hints for Object REXX
- Rony G. Flatscher: Extending the Workplace Shell with Object REXX
- Dr. Willis Boughton: SOM and Object REXX
- REXX Tips & Tricks:Sample source code for Object REXX
- Mike Baryla: On the Road with Object REXX
- Mike Baryla: Setting the Stage for Object REXX scripting
- Rony G. Flatscher: Resurrecting REXX, Introducing Object Rexx
- 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
- Ueli Wahli, Trevor Turton, Eddie Griborn & Norio Furukawa: Object Rexx for OS/2 Warp - Prentice Hall 1996, ISBN 0-13-273467-2
- Ueli Wahli, Trevor Turton, Ingo Holder: Object Rexx for Win95/NT - Prentice Hall 1996, ISBN 0-13-858028-6