There are two types of programming languages commonly used: Compiled and Interpreted.
| Compiler | Interpreter |
| Scans the entire program and
translates it as a whole into machine code. |
Translates program one statement at a time. |
| It takes large amount of time to analyze the source code
but the overall execution time is comparatively faster. |
It takes less amount of time to analyze the source code
but the overall execution time is slower. |
| Generates intermediate object code
which further requires linking, hence requires more memory. |
No intermediate object code is generated,
hence are memory efficient. |
| It generates the error message only after scanning the whole program.
Hence debugging is comparatively hard. |
Continues translating the program until the first error is met,
in which case it stops. Hence debugging is easy. |
| Programming language like C, C++ use compilers. | Programming language like Python, Ruby use interpreters. |