Science Fair Project Encyclopedia
Low-level programming language
- A programming language is low level when its programs require attention to the irrelevant.
- - Humorous epigram from Epigrams In Programming by Alan Perlis.
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. A Python programmer might even consider Java a low-level language.
At a very low-level, low-level programming languages fall into two categories: first generation, and second generation.
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).
See also
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details


