I understand when we start learning C Programming Language, It’s a bit confusing between compiler and interpreter. Sometimes both sound like a similar one . After reading this post your all misconceptions will go miles away.
What is a Compiler?
The compiler is a computer program that converts high-level language to machine level language, it can convert the whole program to machine level language.
What is Interpreter?
The interpreter also convert the high-level language to the machine level, but it takes single instruction as input.
Difference between Compiler and Interpreter
Below are the points for Compiler
- Scans the entire program and translates it as a whole into machine code.
- It takes a large amount of time to analyze the source code but the overall execution time is comparatively faster.
- Generates intermediate object code which further requires linking, hence requires more memory.
- It generates the error message only after scanning the whole program. Hence debugging is comparatively hard.
- Programming languages like C, C++ use compilers.
Below are the points for Interpreter
- Translates program only one statement at a time.
- It takes less amount of time to analyze the source code but the overall execution time is slower.
- No intermediate object code is generated hence are memory efficient.
- Continues translating the program until the first error is met, in which case it stops. Hence debugging is easy.
- Programming language like Python, Ruby uses interpreters.
Still you are confused between interpreter and compiler feel free to comment we are here to help you.