Content deleted Content added
No edit summary Tags: Mobile edit Mobile web edit |
Mindmatrix (talk | contribs) m Reverted edits by 2405:204:7287:578E:0:0:2ABC:58B0 (talk) to last version by 165.166.176.130 |
||
Line 4:
}}
A '''low-level programming language''' is a [[programming language]] that provides little or no [[Abstraction (computer science)|abstraction]] from a computer's [[instruction set architecture]]—commands or functions in the language map closely to processor instructions. Generally, this refers to either [[machine code]] or [[assembly language]]. The word "low" refers to the small or nonexistent amount of [[abstraction (computer science)|abstraction]] between the language and machine language; because of this, low-level languages are sometimes described as being "close to the hardware". Programs written in low-level languages tend to be relatively [[Software portability|non-portable]].
Low-level languages can convert to machine code without a compiler or interpreter— [[second-generation programming language]]s use a simpler processor called an [[Assembly language#Assemble|assembler]]— and the resulting code runs directly on the processor. A program written in a low-level language can be made to run very quickly, with a small [[memory footprint]]. An equivalent program in a [[high-level language]] can be less efficient and use more memory. Low-level languages are simple, but considered difficult to use, due to numerous technical details that the programmer must remember. By comparison, a [[high-level programming language]] isolates execution semantics of a computer architecture from the specification of the program, which simplifies development.
|