First, machine language:
is a binary description of the machine instruction, the set of all instructions constitute the machine language; because all binary,
So the disadvantage is:
1. Do not have obvious characteristics, difficult to remember, not easy to read;
2. The instructions that each computer supports are also different, leading to a large limitation;
3. Need to involve hardware operation, so the programmer's computer knowledge requirements are high
Because it is the lowest-level instruction written in binary, the advantages are also quite obvious:
1. Can be executed directly by the computer
2. Fastest execution speed
Second, assembly language:
In essence, the machine language is the same, only the instructions from the binary into the English abbreviation, easier to understand and remember
Disadvantages:
1. The code is still complex and error-prone.
2. High computer knowledge requirements for programmers
Advantages:
1. Command enrichment can be done in many advanced advanced languages do not complete the operation
2. The resulting executable file is small in size and fast to execute
Third, high-level language:
More close to human expression
Combining a number of related instructions into one instruction, shielding the hardware operation, so that we can focus on the business logic
So
1. High development efficiency
2. Easy to understand
3. Reduce the programmer's workload
4. Reduced demand for computer knowledge
But due to the need to translate the binary machine instructions
So
1. Slower execution speed than the underlying language
2. You can use less instruction than the underlying language
High-level languages can be divided into two categories because of the different execution processes:
1. Compile-type:
The compiler needs a one-time translation of all, translated after the executable file to execute, like Google Translate, the translation process is called compilation This will cause a problem when we modify the code we need to re-translate the new executable file to execute
, the compiled binary executable can be delivered directly to the computer from the original language environment (EXE)
The disadvantage is: The debugging speed is slow,
Poor portability
The advantage: Fast execution speed
Small executable File size
Example: C C + +
2. Explanatory type:
Which line to translate and which line to follow
Like simultaneous interpretation, the interpreter cannot leave until the end of the conversation, so the interpreter must be installed before it can be run.
The disadvantage is that the execution speed is slow
The program volume is larger than the compiled type
The advantage is that the commissioning speed is fast
Good cross-platform
For example: Python ruby, etc.
Java comparisons are especially compiled after the first explanation
Classification of programming languages