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, 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.
Examples of compile-and-go systems are WATFOR, PL/C, 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.
Advantages of compile-and-go systems are:
Disadvantages of compile-and-go loaders are:
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.