Compile and go system
{{Short description|Programming language processor}}
{{Program execution}}
In computer programming, a compile and go system; compile, load, and go system; assemble and go system; or load and go system{{sfn|Weik|2000a|p=66}}{{sfn|Weik|2000b|p=260}}{{sfn|Dhotre|Puntambekar|2008|pp=3—2}}
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.{{sfn|Donovan|1972|pp=150}}{{sfn|Janson|1985|pp=184}}{{sfn|Morris|1992|pp=477}}{{sfn|Isrd|2006|pp=226}}{{sfn|Joseph|2007|pp=130}}{{sfn|Dhotre|Puntambekar|2008|pp=3—2}}{{sfn|Weik|2000a|p=66}}{{sfn|Weik|2000b|p=260}}
Examples of compile-and-go systems are WATFOR, PL/C, and Dartmouth BASIC.{{sfn|Dhotre|Puntambekar|2008|pp=3—2}} An example of load-and-go systems is the loader Anthony J. Barr wrote for the University Computing Corporation in 1968 that was replaced in the market by the IBM OS/360 loader in 1972. These OS/360 loaders performed many of the functions of the Linkage Editor but placed the linked program in memory rather than creating an executable on disk.{{cite book|last=IBM Corporation|title=IBM OS Linkage Editor and Loader|year=1972|url=http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/360/os/R21.0_Mar72/GC28-6538-9_OS_Linkage_Editor_and_Loader_Release_21_Jan72.pdf}} 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.{{dubious|date=December 2012}}{{sfn|Dhotre|Puntambekar|2008|pp=3—2}}
Disadvantages of compile-and-go loaders are:
- There is wastage in memory space due to the presence of the assembler or compiler.{{sfn|Isrd|2006|pp=226}}{{sfn|Dhotre|Puntambekar|2008|pp=3—2}}
- The code must be reprocessed every time it is run.{{sfn|Janson|1985|pp=189}}{{sfn|Isrd|2006|pp=226}}{{sfn|Dhotre|Puntambekar|2008|pp=3—2}}
- Systems with multiple modules, possibly in different languages, cannot be handled naturally within this framework.{{sfn|Isrd|2006|pp=226}}{{sfn|Dhotre|Puntambekar|2008|pp=3—2}}
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=
{{reflist|20em}}
=Sources used=
{{refbegin}}
- {{cite book|title=Systems Software|first1=I.A.|last1=Dhotre|first2=A.A.|last2=Puntambekar|publisher=Technical Publications|year=2008|isbn=9788184315004}}
- {{cite book|title=Systems programming|url=https://archive.org/details/systemsprogrammi00don_xk6|url-access=registration|series=McGraw-Hill computer science series|first1=John J.|last1=Donovan|publisher=McGraw-Hill|year=1972|isbn=978-0-07-017603-4 }}
- {{cite book|title=Computer Organization|series=ACE series|last=Isrd|publisher=Tata McGraw-Hill Education|year=2006|isbn=9780070593619}}
- {{cite book|title=Operating systems: structures and mechanisms|first1=Philippe|last1=Janson|publisher=Academic Press|year=1985|isbn=9780123802309}}
- {{cite book|title=System Software|first=M.|last=Joseph|publisher=Firewall Media|year=2007|isbn=9788131800362}}
- {{cite encyclopaedia|article=compile-and-go|encyclopedia=Academic Press dictionary of science and technology|first=Christopher G.|last=Morris|publisher=Gulf Professional Publishing|year=1992|isbn=9780122004001}}
- {{cite encyclopaedia|encyclopedia=Computer science and communications dictionary|volume=2|article=assemble-and-go|first=Martin H.|last=Weik|publisher=Springer|date=2000a|isbn=9780792384250}}
- {{cite encyclopaedia|encyclopedia=Computer science and communications dictionary|volume=2|article=compile-and-go|first=Martin H.|last=Weik|publisher=Springer|date=2000b|isbn=9780792384250}}
{{refend}}
External links
- [http://yost.com/computers/compileAndGo Dave Yost’s “compileAndGo” for any compiled language]