Translates and executes program code line by line into machine code.
Translates, or “compiles” the entire code into machine code and then runs the program, or sets aside to run later.
A programming language, generally machine code or assembly language, that provides little or no abstraction from a computer's instruction set architecture
A programming language has a significant abstraction from the details of computer operation.