What is Interpreter?
Interpreter is a computer program that can translate high-level language into low-level language. It does same job like compiler but does it differently. Unlike compiler, interpreter reads the source codes line by line and indicate error as it encounters them, making it easy to navigate and fix the errors. Although the process is slower than compiler that reads whole codes before returning the errors, it makes debugging easier than.
Advantages of Interpreter
- Easy to debug
- No incompatibility issue
- Execution control
- Less memory and steps
Easy to Debug
Code error debugging is easier in interpreter as it reads the source code line by line and returns errors immediately. This makes it easier for the user to bebug or modify the code.
No Incompatibility Issue
Interpreter is not optimized for a particular system, therefore the source code can run on any system and shared across platforms without incompatibility issue.
Execution Control
In interpreter, you can pause the execution and modify the code at any given step error is identified. The ability of interpreter to read the code line by line and return error immediate makes this possible. But the pitfall of a this is that after stopping and debugging the error the execution will start from the beginning. i.e: you can’t resume the execution from where you stopped to debug or modify the code.
Less Memory and Step
Interpreter does not generate separate files, unlike compiler that does. Therefore interpreter does not extra money, and we run additional executable file.
Disadvantages of Interpreter
- Runs slower
- Data insecurity
- Dependence
Runs Slower
Unlike compiler, interpreter runs as it reads the source code line by line to translate.
Data Insecurity
As interpreter does not generate separate executable file and shares source code across platforms, it makes it insecure and public.
Read also: What is Database Management? (Definition, Types, Software)
Dependence
A client or anyone with the shared source code needs to have an interpreter installed in their system, in order to execute the code.