Open_Object_Rexx

Object REXX

The Object REXX programming language is a general-purpose object-oriented scripting language.

Quick Facts Paradigm, Designed by ...

Based on the Rexx programming language (often called "Classic Rexx"), Object REXX is designed to be easy to learn, use, and maintain. Object REXX retains all the features and syntax of Classic Rexx while adding full object-oriented programming capabilities.

History

Under the technical lead of Simon C. Nash, the "Oryx" project at IBM experimented with the extension of the "Classic Rexx" interpreter with object-orientated features. This work later led under the supervision of Rick McGuire to the IBM product Object REXX. Object REXX was initially introduced by IBM for the OS/2 Warp 4 operating system in 1997. IBM later ported and sold versions of the interpreter for Microsoft Windows and IBM's AIX.[4]

Object REXX was a follow-on to and a significant extension[lower-alpha 1] of the "Classic Rexx" language. Classic Rexx is a cross-platform scripting language that runs on all popular operating systems. It was originally created for the Conversational Monitor System (CMS) component of the operating system VM/SP Release 3[5] and later implemented by IBM on Multiple Virtual Storage (MVS),[lower-alpha 2] OS/2, PC DOS, and AIX. Other organizations subsequently implemented Classic Rexx interpreters for Windows, Linux, Unix, macOS, Android, and many other operating systems.

On October 12, 2004, IBM transferred the source code and the license rights to Object REXX to the Rexx Language Association (RexxLA), a non-profit special interest group (SIG). In 2005, the RexxLA released Object REXX as free and open-source software.[7] In this new incarnation, Object REXX was rechristened Open Object Rexx (ooRexx). The RexxLA supports, maintains and further develops ooRexx and organises annual symposia for the further development of the Rexx language, including ooRexx. [8]

IBM's original Object REXX interpreter continues to be available in OS/2-derived operating systems, such as ArcaOS and eComStation.

Releases

The following table contains noteworthy features and changes of major ooRexx interpreter versions. All releases[9] and the necessary documentation[10] are available on Sourceforge. For Arch Linux based distributions the current and the development version are available as Arch User Repository. Since release 5.0.0, portable versions of the interpreter are available that allow it to be used without installation.

Legend:
Old version
Older version, still maintained
Latest version
Latest preview version
Future release
More information Major Releases, Release Date ...

Features

As supersets of Classic Rexx, ooRexx and Object REXX endeavor to retain all the features of Classic Rexx.

To this, ooRexx and Object REXX add all the features typical of object-oriented languages, such as subclassing, polymorphism, and data encapsulation. Further features include multiple inheritance via the use of mixin classes.

ooRexx and Object REXX are designed to be a compatible superset of Classic Rexx. They conform[lower-alpha 3] to the ANSI standard for the Rexx language (X3.274-1996, “Programming Language Rexx”[21]), for interoperability across platforms with other conforming Rexx implementations. Thus Classic Rexx programs that conform to the ANSI-1996 standard typically run under ooRexx and Object REXX without any changes. This makes it easy to transport both program code and developer knowledge from Classic Rexx to ooRexx and Object REXX.

For Windows, ooRexx includes a Windows Script Host (WSH) Scripting Engine for Rexx. It also includes Object Linking and Embedding/ActiveX support and OODialog Runtime to support OODialog programs. However, the code that IBM released to open source in 2004 did not include the classes for IBM System Object Model (SOM) and Workplace Shell (WPS) support.[22]

The OS/2 version of IBM Object REXX includes classes to support the IBM System Object Model [23] and Workplace Shell.[24] These are also included OS/2's initial follow-on product, eComStation, and also in its current descendant, ArcaOS.[25]

Notes

  1. Object REXX and Open Object Rexx do not include all of the new features of ANSI standard Rexx, although they have many new features of their own.
  2. As part of Time Sharing Option Extensions (TSO/E) Version 2[6]
  3. Object REXX and Open Object Rexx do not include all of the new features of ANSI standard Rexx.

References

  1. "ooRexx (Open Object Rexx) - Browse /oorexx/5.0.0 at SourceForge.net".
  2. René Jansen (2011-12-01). "7 Reasons that Rexx Still Matters". SmartBear blog. Retrieved 2014-02-02.
  3. "NetRexx – Programming language derived from Java and Rexx". OS/2 EWS. IBM PC BBS. 1996. Retrieved 2014-01-24.
  4. Flatscher, Rony G. (2013). Introduction to Rexx and ooRexx. Vienna: Facultas.
  5. "VM/SYSTEM PRODUCT RELEASE 3 (VM/SP RELEASE 3) 5664-167". Announcement letters. IBM. February 1, 1983. 283-018. Retrieved February 21, 2022.
  6. "IBM TSO EXTENSIONS VERSION 2". Announcement letters. IBM. April 19, 1988. 288-191. Retrieved February 21, 2022.
  7. "RexxLA - Rexx Symposia". www.rexxla.org. Retrieved 2024-05-17.
  8. "ooRexx News". Sourceforge. Retrieved 18 May 2024.
  9. Open Object Rexx Reference Version 3.0.0 Edition (PDF). RexxLA. 24 March 2005. Retrieved 18 May 2024.
  10. "ooRexx News". Sourceforge. Retrieved 18 May 2024.
  11. "ooRexx News". Sourceforge. Retrieved 18 May 2024.
  12. "ooRexx News". Sourceforge. Retrieved 18 May 2024.
  13. "ooRexx 4.0.0: Readme" (PDF). Retrieved 18 May 2024.
  14. "ooRexx 4.1.0: ReleaseNotes". Retrieved 18 May 2024.
  15. "ooSQLite: Readme". Retrieved 18 May 2024.
  16. "ooRexx 4.2.0: Changes". Retrieved 18 May 2024.
  17. "ooRexx 5.0.0: Changes". Retrieved 18 May 2024.
  18. Willis Boughton (2004). "SOM and Object REXX". EDM/2. Retrieved 2014-02-02.
  19. "Accessing Workplace Shell Objects". Object REXX Reference. IBM.

Share this article:

This article uses material from the Wikipedia article Open_Object_Rexx, and is written by contributors. Text is available under a CC BY-SA 4.0 International License; additional terms may apply. Images, videos and audio are available under their respective licenses.