JIT
how programming languages are implemented
a compiler translates code from some language to another language, usually the destination language is machine code. Compiled languages are C, Go, Rust. These languages output a machine code file which can be understood natively by the computer. the compile and run steps are fully distinct.
compilers can translate to any target language (transpilling). Java 2-step implementation: 1/ compile java source to bytecode (intermediate representation IR) ⇒ 2/ bytecode is then JIT compiled which inovlves interpretation