Skip to main content


The interpreters they are programs that, unlike a compiler, do not read all the code first as a whole, but read each line of the source program separately and execute it directly on the platform without first translating the code. Therefore, each analysis occurs during the execution of the program. Java, for example, uses interpreters.


The value of interpreters is that a program can skip the translation of the source code and basically execute the instructions in the code directly. The interpreter's job is, in this way, to put into practice precisely the routines that were registered by the corresponding developer.

When interpreting source code, translating and executing the code are not separate steps. The input and the source code run simultaneously. Each line with an instruction results in immediate action by the interpreter. In this way, it could be said that an interpreter performs two steps at the same time, that is, the translation and execution. One step follows the next in logical order according to the source code specifications.

Advantages and disadvantages

The advantages in using compilers are that these programs are very efficient specifically for debugging, in other words, identifying errors, because basically stop working when errors exist. If the interpreter stops, the programmers can immediately respond and resolve the error. One downside is that an interpreter is significantly slower than a compiler. Because every row is read, including repeating items.

This disadvantage in working speed is partially compensated by modifications such as the JIT (Just-in-time compiler) or the bytecode interpreter.

Interpreter languages

Programs that have been written in the following languages can be implemented by interpreters:

  • Basic
  • Ruby
  • PHP
  • Perl