Compiled langauges are translated directly into machine code that the processor can execute.
Interpreted languages are translated into machine code line-by-line as the interpreter program (written in the language of the native machine) is run.
You can do everything in an interpreted language that you can do in a compiled language as both are Turing Complete.
Faster performance by directly using the native code of the target machine.
Opportunity to apply powerful optimization during compile stage.
Easier to implement, debug, and test.
No need to compile, can execute code directly on the fly.
Compiler is a program that tanslates the human-readable code to a language a computer processor can understand (binary 1s and 0s) before the program is run.
Interpreter also translates high level code to lower level machine code, but it executes the conversion when the program is run.
# compiler source code -> compiler -> machine code -> output # interpreter source code -> interpreter -> output
Compiler translates code from higher level language to lower level language.
Transpiler translates code from same level of abstraction