DPPX was written in Programming Language for Distributed Systems (PL/DS), a
PL/I-derived systems programming language, similar to the
PL/S systems programming language used for
MVS and
VM. Part of the DPPX/370 development process was developing a PL/DS 2 language, which was based on PL/DS, but with changes necessitated by the changed instruction set. (PL/DS, like PL/S, is a high-level language which encourages significant use of inline assembly.) The user interfaces (e.g., command line) of DPPX were very clean and easy to use, the syntax of the commands, the whole concept and ideas of DPPX looked very straightforward and consistent (command line, online help, etc.), and each and every aspect was documented online and in a rich set of well organized printed manuals. A DPPX system could be operated truly operator-less and remote (hence the
Distributed part of the name). One benefit of this clean design was that programs could be written in modern dialects of
COBOL, and dialogs could be developed interactively.
DPPX had a native
DBMS with simple key-lookup architecture, and ability to move forward through a table after starting from a specific key value by issuing a read-forward command. A limitation of the DPPX DBMS was the lack of read-previous capability, which made it difficult, for example, to code page-back functionality for a screen loaded from a DPPX DBMS table. This limitation was mitigated by an enterprising young programmer (K. Riley of Anchorage, Alaska) who suggested at the application layer creating alternate keys for the DPPX tables that needed read-previous functionality. The alternate keys could then be loaded with the binary 1's complement of the primary key, at which point reading forward on the alternate key was equivalent to reading previous on the primary key. ==Software==