Compiling vs. interpreting
Jonathan Hutchins
hutchins at tarcanfel.org
Fri Mar 11 13:08:42 CST 2005
The term "compiling" implies that more than one thing is being combined into a
single final output. Usually it implies either the expansion of keywords
(such as commands) into actual machine instructions, more often the pulling
in of subroutines from various libraries.
"Translation" or "interpretation" implies a more linear approach, where the
source is merely converted to machine code.
In practice, systems that translate human-readable code into machine code at
run-time, each time a program is run, are considered to be interpreters,
while a system that does a one time translation, then stores and runs the
"executable file" are compilers.
Obviously, it's possible for nearly any language to be either interpreted or
compiled, or both for that matter. Some languages are designed and optimized
for run-time "interpretation".
(A side note: In the 80's, Dial-up Bulletin Board software involved
relatively large text-based configuration files. Some programs like Berley
BBS would check the timestamp on the config files, and if they had changed
since last run the program would translate them into binary. It would then
be able to use the binary translation each time it was run until the master
config file changed again. Saved some execution cycles, while making the
configuration file very easy to understand and edit.)
More information about the Kclug
mailing list