Interpreter
You have this in Python.
In computer science, an interpreter is a computer program that directly executes instructions written in a programming or scripting language, without requiring them previously to have been compiled into a machine language program. An interpreter generally uses one of the following strategies for program execution:
- Parse the source code and perform its behavior directly;
- Translate source code into some efficient intermediate representation or object code and immediately execute that;
- Explicitly execute stored precompiled bytecode made by a compiler and matched with the interpreter Virtual Machine.
https://medium.com/@developerlife/gnu-gcc-g-gdb-what-are-these-terms-explained-aec45f251501
Compiler vs. Interpreter?
Compiler: Scans the entire program and translates it as a whole into machine code. It continues translating the program until the first error is met, in which case it stops. Hence debugging is easy. Ex: C++
Interpreter: Translates program one statement at a time and does not generate Object Code. It gives error only after scanning the entire program. Ex: Python
I actually got asked this at my NVIDIA interview lol