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. |