Jump to content

Compile and go system

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by BobDog54 (talk | contribs) at 00:33, 16 June 2016 (corrected grammar). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computer programming, a compile and go system, compile, load, and go system, assemble and go system, or load and go system[1][2][3] 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.[4][5][6][7][8][3][1][2]

Examples of compile-and-go systems are WATFOR, PL/C, and Dartmouth BASIC.[3]

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.[9]

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.[dubiousdiscuss][3]

Disadvantages of compile-and-go loaders are:

  • There is wastage in memory space due to the presence of the assembler.[7][3]
  • The code must be reprocessed every time it is run.[10][7][3]
  • Systems with multiple modules, possibly in different languages, cannot be handled naturally within this framework.[7][3]

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

References

Cross-reference

  1. ^ a b Weik 2000a, p. 66.
  2. ^ a b Weik 2000b, p. 260.
  3. ^ a b c d e f g Dhotre & Puntambekar 2008, pp. 3–2.
  4. ^ Donovan 1972, pp. 150.
  5. ^ Janson 1985, pp. 184.
  6. ^ Morris 1992, pp. 477.
  7. ^ a b c d Isrd 2006, pp. 226.
  8. ^ Joseph 2007, pp. 130.
  9. ^ IBM Corporation (1972). IBM OS Linkage Editor and Loader (PDF).
  10. ^ Janson 1985, pp. 189.

Sources used

  • Dhotre, I.A.; Puntambekar, A.A. (2008). Systems Software. Technical Publications. ISBN 9788184315004. {{cite book}}: Invalid |ref=harv (help)
  • Donovan, John J. (1972). Systems programming. McGraw-Hill computer science series. McGraw-Hill. {{cite book}}: Invalid |ref=harv (help)
  • Isrd (2006). Computer Organization. ACE series. Tata McGraw-Hill Education. ISBN 9780070593619. {{cite book}}: Invalid |ref=harv (help)
  • Janson, Philippe (1985). Operating systems: structures and mechanisms. Academic Press. ISBN 9780123802309. {{cite book}}: Invalid |ref=harv (help)
  • Joseph, M. (2007). System Software. Firewall Media. ISBN 9788131800362. {{cite book}}: Invalid |ref=harv (help)
  • Morris, Christopher G. (1992). "compile-and-go". Academic Press dictionary of science and technology. Gulf Professional Publishing. ISBN 9780122004001. {{cite encyclopedia}}: Invalid |ref=harv (help)
  • Weik, Martin H. (2000a). "assemble-and-go". Computer science and communications dictionary. Vol. 2. Springer. ISBN 9780792384250. {{cite encyclopedia}}: Invalid |ref=harv (help)
  • Weik, Martin H. (2000b). "compile-and-go". Computer science and communications dictionary. Vol. 2. Springer. ISBN 9780792384250. {{cite encyclopedia}}: Invalid |ref=harv (help)