Low-level programming language



         


epigram from Epigrams In Programming by Alan Perlis.

[Top]

Definition

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 lower level of abstraction.

Note that high-level versus low-level is a relative property; a Java programmer would 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.

[Top]

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.

[Top]

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).

[Top]

See also





  View Live Article   This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License