Interpreter Vs Compiler : Difference Between Interpreter and Compiler
We
generally write a computer program using a high-level language. A
high-level language is one which is understandable by us humans. It
contains words and phrases from the English (or other) language. But a
computer does not understand high-level language. It only understands
program written in
The difference between an interpreter and a compiler is given below:

0's and 1's in binary,
called the machine code. A program written in high-level language is
called a source code. We need to convert the source code into machine
code and this is accomplished my compilers and interpreters. Hence, a
compiler or an interpreter is a program that converts program written in
high-level language into machine code understood by the computer.The difference between an interpreter and a compiler is given below:
| Interpreter | Compiler |
|---|---|
| Translates program one statement at a time. | Scans the entire program and translates it as a whole into machine code. |
| It takes less amount of time to analyze the source code but the overall execution time is slower. | It takes large amount of time to analyze the source code but the overall execution time is comparatively faster. |
| No intermediate object code is generated, hence are memory efficient. | Generates intermediate object code which further requires linking, hence requires more memory. |
| Continues translating the program until the first error is met, in which case it stops. Hence debugging is easy. | It generates the error message only after scanning the whole program. Hence debugging is comparatively hard. |
| Programming language like Python, Ruby use interpreters. | Programming language like C, C++ use compilers. |
