Program management components process the output of language translators and compilers to produce an executable program unit.
A program can be divided into logical units that perform specific functions. Each of these logical units of code is a module. Each module can be written in the symbolic language that best suits its particular function, for example, assembler, C, C++, COBOL, Fortran, or PL/I. Many modules can be bound or link-edited into a single executable program unit. Object modules produced by several different language translators can be merged to form a single program.