Low-level programming language
From Free net encyclopedia
In computer science, a low-level programming language is a language that provides little or no abstraction from a computer's microprocessor. The word "low" does not imply that the language is inferior to high-level programming languages but rather refers to the reduced amount of abstraction between the language and itself; because of this, low-level languages are sometimes described as being "closer to the hardware."
High-level versus low-level is a relative property; a Java programmer might consider C to be a low-level language, while an assembly language programmer would consider C to be a high-level programming language.
Low-level programming languages are sometimes divided into two categories: first generation, and second generation.
Contents |
First generation
The first-generation programming language, or 1GL, is machine code. It is the only language a microprocessor can understand natively. Machine code cannot be written or read using a text editor, and therefore it is rarely used by a person directly.
Second generation
The second-generation programming language, or 2GL, is Assembly Language. It is considered a second-generation language because while it is not a microprocessor's native language, an assembly language programmer must still understand the microprocessor's unique architecture (such as its registers and instructions).
Quotes
- A programming language is low level when its programs require attention to the irrelevant.
- — Humorous epigram from Epigrams on Programming by Alan Perlis.
See also
- High-level programming languages
- Medium-level programming languages
- Very high-level programming languages
- Categorical list of programming languagesko:저급 프로그래밍 언어
ja:低級言語 pl:Język niskiego poziomu pt:Linguagem de baixo nível th:ภาษาระดับต่ำ