Compile-and-go
   HOME

TheInfoList



OR:

In computer programming, a compile and go system, compile, load, and go system, assemble and go system, or load and go system is a programming language processor in which the
compilation Compilation may refer to: *In computer programming, the translation of source code into object code by a compiler **Compilation error **Compilation unit *Product bundling, a marketing strategy used to sell multiple products *Compilation thesis M ...
,
assembly Assembly may refer to: Organisations and meetings * Deliberative assembly, a gathering of members who use parliamentary procedure for making decisions * General assembly, an official meeting of the members of an organization or of their representa ...
, or link steps are not separated from program execution. The intermediate forms of the program are generally kept in primary memory, and not saved to the
file system In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one larg ...
. Examples of compile-and-go systems are
WATFOR WATFIV, or WATerloo FORTRAN IV, developed at the University of Waterloo, Canada is an implementation of the Fortran computer programming language. It is the successor of WATFOR. WATFIV was used from the late 1960s into the mid-1980s. WATFIV was ...
,
PL/C PL/C is an instructional dialect of the programming language PL/I, developed at the Department of Computer Science of Cornell University in the early 1970s in an effort headed by Professor Richard W. Conway and graduate student Thomas R. Wilcox ...
, and Dartmouth BASIC. An example of a load-and-go system is the OS/360 loader, which performed many of the functions of the Linkage Editor, but placed the linked program in memory rather than creating an executable on disk. Compile and go systems differ from interpreters, which either directly execute
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
or execute an intermediate representation.


Analysis

Advantages of compile-and-go systems are: * The user need not be concerned with the separate steps of compilation, assembling, linking, loading, and executing. * Execution speed is generally much superior to interpreted systems. * They are simple and easier to implement. Disadvantages of compile-and-go loaders are: * There is wastage in memory space due to the presence of the assembler. * The code must be reprocessed every time it is run. * Systems with multiple modules, possibly in different languages, cannot be handled naturally within this framework. Compile-and-go systems were popular in academic environments, where student programs were small, compiled many times, usually executed quickly and, once debugged, seldom needed to be re-executed.


See also

*
Ahead-of-time compilation In computer science, ahead-of-time compilation (AOT compilation) is the act of compiling an (often) higher-level programming language into an (often) lower-level language before execution of a program, usually at build-time, to reduce the amount ...


References


Cross-reference


Sources used

* * * * * * * * {{refend


External links


Dave Yost’s “compileAndGo” for any compiled language
Computer programming