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