Computer can't directly understand high-level language, can only understand machine language directly, so it is necessary to translate high-level language into machine language, and computer can execute program written in high-level language. There are two ways to translate, one is to compile and the other is to explain. The two ways are just different translation times.
Definition of interpreted language: Programs that interpret language do not need to be compiled, they are translated when the program is run, and each statement is translated when it is executed. In this way, each interpretation of the language needs to be translated line by line once, which is relatively inefficient. Modern interpretive languages usually compile the source program into intermediate code, and then use the interpreter to translate the intermediate code into a target machine code, one by one.
Compiler language definition: Before the program written in the compiler language is executed, it needs a special compilation process to compile the program into a machine language file, such as an exe file. If you want to run it later, you don't need to re-translate it. You can use the compiled result directly (exe) File), because the translation is only done once, the runtime does not need to be translated, so the compiled language program is efficient.