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