Log in / create account
DocForge
An Open Wiki For Software Developers

Low-level programming language

From DocForge

A low-level programming language is one which provides little or no abstraction from a computer's central processing unit. The word "low" does not imply that the language is inferior to high-level programming languages but rather refers to the small or nonexistent amount of abstraction between the language and machine language; because of this, low-level languages are sometimes described as being "close to the hardware."

"High-level" and "low-level" are also used relatively; a Java programmer might consider C to be a comparatively low-level language.

Low-level programming languages are sometimes divided into two categories: first generation, and second generation.

[edit] First Generation

The first-generation programming language, or 1GL, is machine code. It is the only language a microprocessor can understand directly. Currently, programmers almost never write programs directly in machine code, because not only does it (like assembly language) require attention to numerous details which a high-level language would handle automatically, but it also requires memorizing or looking up numerical codes for every instruction that is used, which in assembly language would be written as something more readable like "ADD CX INTEREST" or "RET".

[edit] 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).


[edit] See Also

Additional copyright notice: Some content of this page is a derivative work of a Wikipedia article under the CC-BY-SA License and/or GNU FDL. The original article and author information can be found at http://en.wikipedia.org/wiki/Low-level_programming_language.