CL—CL is the best OS/400 language for simple access to system facilities, such as authority checking and message handling. CL cannot handle database updates or complex display file handling. It has poor control structures (no subroutines, no DO WHILE construct) and limited data types—binary is not supported. It can be used recursively and has good string handling.
CMD—The CL command definition language is specially designed for defining call interfaces and can be used to reduce the complexity of any validation required.
RPG III—RPG III is compact, efficiently implemented, and good for batch processing and display file handling because it has good I/O facilities. It has poor structural capabilities. It is difficult to write well modularized RPG III programs because there is no ‘privacy’; all variables are global, and subroutine variables are not explicit. The variable naming capabilities are very restrictive. The fixed format reduces expressiveness. Recursion is not allowed and the data structures (for example, arrays) supported are limited.
COBOL—COBOL ‘85 has more modern control structures than COBOL ‘74, but there are still some significant shortcomings on the iSeries implementation. It is free format and therefore, quite expressive. It has reasonable I/O facilities. It is not extendable and has poor exception handling. There is no recursion, no ADTs, and limited typing.
PL/1—Of the iSeries languages, PL/1 has the widest range of cated capabilities. It allows a block structure, recursion, and is rich in its data types. It has good I/O, including some special features, good string handling, and good expressiveness. It is also extendable through functions and has good exception handling—though access to system data is not always as good as RPG III. It has limited typing and is complex.
C—Of the iSeries languages, C has the most powerful low-level capabilities. System/C can be used to access system function not available in other languages. Like PL/1, it allows a block structure, recursion, and is rich in its data types. It tends to be cryptic. It is also extendable through functions and has good exception handling.
| Copyright © 2011 CA. All rights reserved. | Tell Technical Publications how we can improve this information |