Rexx comes in three varieties:
- Standard or classic Rexx is the procedural language originally developed at IBM. Six free classic Rexx interpreters are available for download, and I’ve already mentioned that standard Rexx is bundled with several operating systems.
- Object-oriented Rexx is a true superset of classic Rexx. It includes classes, messaging, single and multiple inheritance, encapsulation and data hiding, polymorphism or operator-overloading, and all the standard features of any fully object-oriented programming language. Object-oriented Rexx also has a large class library. Two free object-oriented Rexx interpeters are available.
- NetRexx is a Rexx variant designed to bring the language’s ease of use to the Java environment. NetRexx scripts use Java classes and can provide classes used from Java programs. You can develop applets, applications, servlets, classes, and beans in NetRexx. NetRexx differs from all other Rexx interpreters in that it’s nonstandard—it’s best termed a "Rexx-like" language. A NetRexx intepreter is available that runs under any Java Virtual Machine (JVM).
Why are so many Rexx interpreters available? Rexx isn’t owned or controlled by any single vendor or group; it’s standards-driven. Given the usefulness of the language, it’s natural that several groups and individuals have created Rexx interpreters. The advantage is that you can select the Rexx interpreter that best meets your needs. You might choose one optimized for performance, or extended for a particular operating system, or tailored for your handheld. The choice is up to you.