Compiler vs. Interpreter :
Compiler |
Interpreter |
Compiler works on the
complete program at once. It takes the entire program as input. |
Interpreter works
line-by-line. It takes one statement at a time as input. |
Compiler generates
intermediate code, called the object code or machine code. |
Interpreter does not
generate Intermediate object code or machine code. |
Compiler executes
conditional control statements (like if-else and switch-case) and logical
constructs faster than interpreter. |
Interpreter executes
conditional control statements at a much slower speed. |
Compiled programs take
more memory because the entire object code has to reside in memory. |
Interpreter does not
generate intermediate object code. As a result, interpreted programs are more
memory efficient. |
Compile once and run
anytime. Compiled program does not need to be compiled every time. |
Interpreted programs
are interpreted line-by-line every time they are run. |
Errors are reported
after the entire program is checked for syntactical and other errors. |
Error is reported as
soon as the first error is encountered. Rest of the program will not be
checked until the existing error is removed. |
A compiled language is
more difficult to debug. |
Debugging is easy
because an interpreter stops and reports error as it encounters them. |
Compiler does not
allow a program to run until it is completely error-free. |
Interpreter runs the
program from first line and stops execution only if it encounters an error. |
Compiled languages are
more efficient but difficult to debug. |
Interpreted languages
are less efficient but easier to debug. This makes such languages an ideal
choice for new students. |
Examples of
programming languages that use compilers: C, C++, COBOL |
Examples of
programming languages that use interpreters: BASIC,
Visual Basic, Python, Ruby, PHP, Perl, MATLAB, Lisp |
No comments:
Post a Comment