Previous topic |
Next topic |
Contents |
Glossary |
Contact z/OS |
PDF
Programming languages on the mainframe Application programming on z/OS |
|
A computer language is the way that a human communicates with a computer. It is needed because a computer works only with its machine language (bits and bytes). This is slow and cumbersome for humans to use. Therefore, we write programs in a computer language, which then gets converted into machine language for the computer to process. There are many computer languages, and they have been evolving from machine language into a more natural way of writing. Some languages have been adapted to the kind of application that they intended to solve and to the kind of approach used in the design. The word generation has been used to indicate this evolution. A classification of computer languages follows.
Each computer language evolved separately, driven by the creation of and
adaptation to new standards. In the following sections we describe several
of the most widely used computer languages supported by z/OS®:
To this list, we can add the use of shell script and PERL in the z/OS UNIX® System Services environment. For the computer languages under discussion, we have listed their evolution and classified them. There are procedural and non-procedural, compiled and interpreted, and machine-dependent and non-machine-dependent languages. Assembler language programs are machine-dependent, because the language is a symbolic version of the machine's language on which the program is running. Assembler language instructions can differ from one machine to another, so an Assembler language program written for one machine might not be portable to another. Rather, it would most likely need to be rewritten to use the instruction set of the other machine. A program written in a high-level language (HLL) would run on other platforms, but it would need to be recompiled into the machine language of the target platform. Most of the HLLs that we touch upon in this section are procedural languages. This type is well-suited to writing structured programs. The non-procedural languages, such as SQL and RPG, are more suited for special purposes, such as report generation. Most HLLs are compiled into machine language, but some are interpreted. Those that are compiled result in machine code which is very efficient for repeated executions. Interpreted languages must be parsed, interpreted, and executed each time that the program is run. The trade-off for using interpreted languages is a decrease in programmer time, but an increase in machine resources. The advantages of compiled and interpreted languages are further explored in this section. |
Copyright IBM Corporation 1990, 2010
|