Compilers versus Interpreters
This is a fine point as far as everyone but computer programmers are concerned.
A compiler is a computer process that converts source code into an intermediate state on the way to becoming a usable computer program. Typically, compilation results in object code. See Code for definitions of source code and object code.
An interpreter is a computerized process that uses source code as instructions for directly performing computer functions.
A simple example might help. The following is the source code of a computer program that displays the word “Hello” on a computer screen.
display “Hello”
A compiler would take that source code as input to create an intermediate form, called object code. The object code is then combined, by a process called a “link editor”, with programs that have already been written that can display text on a computer screen to produce an executable program that can then be used on this and other computers. The other computers can use the resultant program that displays “Hello” without needing the compiler or the link editor to be available.
An interpreter would take that source code as input, then send the text “Hello” to a computer program that can display text on a computer screen which does it right away.
Why the difference? Compilation and link editing result in a computer program that is pretty much complete unto itself when used by a given operating system, such as MS Windows. Interpretation requires that the intepretor be available on every computer where we want the program to operate.
