Chapter 1. Open Object Rexx General Concepts
As an object-oriented language, Rexx provides data
encapsulation,
polymorphism, an object class hierarchy, class-based inheritance of methods,
and concurrency. It includes a number of useful base classes and allows you
create new object classes of your own.
Open Object Rexx is compatible with earlier Rexx versions, both non-object based Rexx and IBM's Object
Rexx. It has the usual structured-programming instructions, for example IF, SELECT,
DO WHILE, and LEAVE, and a number of useful built-in functions.
The language imposes few restrictions
on the program format. There can be more than one clause on a line, or a single
clause can occupy more than one line. Any indentation scheme is allowed. You can,
therefore, code programs in a format that emphasizes their structure,
making them easier to read.
A language processor (interpreter) runs Rexx programs. That is, the program runs line by line and word
by word, without first being translated (compiled) to machine language. One of the advantages of this
is that you can fix the error and rerun the program faster than when using a compiler.
Note: Open Object Rexx also supplies the
rexxc program that can be used to
translate Rexx programs into a sourceless executable file.
Translating a program is not the same as compiling a program to machine language.
A translated Rexx program will still be interpreted line by line, though
it will typically start faster as the initial parsing has already been done.