Low-level programming language: Difference between revisions

Content deleted Content added
Khcaliy (talk | contribs)
update "low level programming" relevant to modern programming. Removed "{{Update|date=December 2019}} " as i updated based on mordern
Tag: references removed
ce, fix link, remove statement not relevant to portability (even compilers for high-level languages produce machine code not portable to machines with other instruction sets, except with interpreters or binary-to-binary translators; what matters for portability is whether the source code can be compiled for other machines).
Line 6:
}}
 
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]], memory, or underlying physical hardware; commands or functions in the language are structurally similar to a processor's instructions. WhenThese itlanguages comesprovide to those languages,the programmer haswith full control over program memory and the underlying [[instructionmachine set architecture |code instructions]]. Because of the low level of abstraction (hence the word)term abstraction"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 [[Software portability|non-portable]], due to being optimized for a certain type of system architecture.<ref name=":0">{{Cite web |date=2021-03-05 |title=3.1: Structure of low-level programs |url=https://workforce.libretexts.org/Bookshelves/Information_Technology/Information_Technology_Hardware/Advanced_Computer_Organization_Architecture_(Njoroge)/03%3A_Computer_Organization_and_low-level_Programming/3.01%3A_Structure_of_low-level_programs |access-date=2023-04-03 |website=Workforce LibreTexts |language=en}}</ref><ref>{{Cite web |date=2023-11-19 |title=What is a Low Level Language? |url=https://www.geeksforgeeks.org/what-is-a-low-level-language/ |access-date=2024-04-27 |website=GeeksforGeeks |language=en-US}}</ref><ref>{{Cite web |title=Low Level Language? What You Need to Know {{!}} Lenovo US |url=https://www.lenovo.com/us/en/glossary/low-level-language/ |access-date=2024-04-27 |website=www.lenovo.com |language=en}}</ref><ref>{{Cite web |title=Low-level languages - Classifying programming languages and translators - AQA - GCSE Computer Science Revision - AQA |url=https://www.bbc.co.uk/bitesize/guides/z4cck2p/revision/2 |access-date=2024-04-27 |website=BBC Bitesize |language=en-GB}}</ref>
 
Low-level languages are directly converted to machine code with or without a [[compiler]] or [[Interpreter (computing)|interpreter]]—[[second-generation programming language]]s<ref name=":3">{{Cite web |date=2017-10-22 |title=Generation of Programming Languages |url=https://www.geeksforgeeks.org/generation-programming-languages/ |access-date=2024-04-27 |website=GeeksforGeeks |language=en-US}}</ref><ref name=":4">{{Cite web |title=What is a Generation Languages? |url=https://www.computerhope.com/jargon/num/1gl.htm |access-date=2024-04-27 |website=www.computerhope.com |language=en}}</ref> 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 and/or operating system dependent, due to using low level [[application programming interface | apisAPI]]s. When those languages compiled, [[compiler]] produces a machine code that is not portable across different cpu architectures and operating systems<ref name=":0" />
 
== Machine code ==