First, the programming language classification
1. Machine language
is a set of machine instructions that can be directly identified and executed by a computer in binary code 0 and 1, a set of instructions called machine code.
2. Assembly language
Also known as symbolic language, is a mnemonic (mnemonics) instead of a machine instruction opcode, with the address symbol (symbol) or label (label) instead of the address of the instruction or operand.
3. Advanced language
Mainly relative to the assembly language, it is closer to natural language and mathematical formula programming, basically out of the machine's hardware system, in a more understandable way people write programs. The program that is written is called the source program.
High-level languages are divided into two categories: compiled, interpreted, and mixed
①, compile-language
Compile the source program to generate the target file (machine language), and then run the machine code by the machine.
②, Interpretive language
In the implementation of the interpreted language, the translator does not produce the object file of the machine language, but produces an easy-to-execute intermediate code, which is different from the machine code, the interpretation of the intermediate code is supported by the interpreter software, the hardware is not directly used, and the interpreter software usually results in less efficient execution. A program written in an interpreted language is executed by another interpreter that can understand the intermediate code. Unlike the compiler, the task of the interpreter is to interpret the source program's statements as executable machine instructions, without having to translate the source program into the target code before executing it.
③, mixed-language, think Java
Java programs also need to be compiled, but not directly compiled into a machine language, but compiled into bytecode, and then execute bytecode on the Java Virtual machine in an interpreted manner.
Two
C + + notes (i) overview