Low-level programming language: Difference between revisions

Content deleted Content added
No edit summary
Tag: Reverted
m Reverted edits by 110.225.89.82 (talk) to last version by Donner60
Line 5:
}}
 
A '''low-level programming language''' is a [[programming language]] that provides little or no [[Abstraction (computer science)|abstraction]] offrom programminga conceptscomputer's and[[instruction isset veryarchitecture]]—commands closeor tofunctions writingin actualthe machinelanguage map closely to processor instructions. TwoGenerally, examplesthis refers to either [[machine code]] or [[assembly language]]. Because of the low (hence the word) abstraction between the language and machine language, low-level languages are assemblysometimes anddescribed machineas codebeing "close to the hardware". UsesPrograms andwritten otherin low-level languages tend to be relatively [[Software portability|non-portable]], due to being optimized for a certain type of system architecture. information
 
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.
 
Line 14 ⟶ 15:
True ''machine code'' is a stream of raw, usually [[Binary code|binary]], data. A programmer coding in "machine code" normally codes instructions and data in a more readable form such as [[decimal]], [[octal]], or [[hexadecimal]] which is translated to internal format by a program called a [[Loader (computing)|loader]] or toggled into the computer's memory from a [[front panel]].
 
Although few programs are written in machine language, programmers often become adept at reading it through working with [[core dump]]s or debugging from the front panel.
Low-level languages are useful because written in them can be crafted to run very fast and with a very minimal memory footprint. However, they are considered harder to utilize because they require a deeper knowledge of machine language.
 
Example: A function in hexadecimal representation of 32-bit [[x86]] machine code to calculate the ''n''th [[Fibonacci number]]: