Interpreter Style
Learned in SE464.
An architectural style suitable for applications in which the most appropriate language or machine for executing the solution is not directly available. A virtual machine / interpreter evaluates programs written in that higher-level language.
Disadvantages
- Defining, implementing, and testing interpreter components is non-trivial
- The extra level of indirection slows down execution
Mitigations
- Java has a JIT (Just-In-Time) compiler
- emacs 28 has (experimental) support for native compilation