This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
A low-level programming language is a programming language that provides little or no abstraction from a computer's instruction set architecture, memory or underlying physical hardware; commands or functions in the language are structurally similar to a processor's instructions. These languages provide the programmer with full control over program memory and the underlying machine code instructions. Because of the low level of abstraction (hence the term "low-level") between the language and machine language, low-level languages are sometimes described as being "close to the hardware". Programs written in low-level languages tend to be relatively non-portable, due to being optimized for a certain type of system architecture.[1][2][3][4]
Low-level languages are directly converted to machine code with or without a compiler or interpreter—second-generation programming languages[5][6] depending on programming language. A program written in a low-level language can be made to run very quickly, with a small memory footprint. A program that written with those programming languages often end up becoming architecture dependent or operating system dependent, due to using low level APIs.[1]