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,
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 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