High-level programming language: Difference between revisions

Content deleted Content added
GreenC bot (talk | contribs)
Move 2 urls. Wayback Medic 2.5
Small WP:EoS WP:TERSE WP:COPYEDITs; plural > WP:SINGULAR. WP:BADEMPHASIS: MOS:BOLDs, WP:QUOTE marks > WP:ITALICs or <code>s. WP:LINKs: WP:Disambiguate, updates, fix-cut needless WP:PIPEs (WP:NOPIPEs).
Line 1:
{{shortShort description|Programming language with strong abstraction from details of hardware}}
{{Use American English|date=January 2019}}{{Short description|Programming language with strong abstraction from details of hardware
}}
In [[computer science]], a '''high-level programming language''' is a [[programming language]] with strong [[Abstraction (computer science)|abstraction]] from the details of the [[computer]]. In contrast to [[low-level programming language]]s, it may use [[natural language]] ''elements'', be easier to use, or may automate (or even hide entirely) significant areas of computing systems (e.g. [[memory management]]), making the process of developing a program simpler and more understandable than when using a lower-level language. The amount of abstraction provided defines how "high-level" a programming language is.<ref>[https://web.archive.org/web/20070826224349/http://www.ittc.ku.edu/hybridthreads/glossary/index.php HThreads - RD Glossary<!-- Bot generated title -->]</ref>
 
In the 1960s, a high-level programming languageslanguage using a [[compiler]] werewas commonly called 'an ''[[autocode]]s'''.<ref name=kleith>{{cite book|last=London|first=Keith|year=1968|title=Introduction to Computers|year=1968|publisher=Faber and Faber Limited|___location=24 Russell Square London WC1|isbn=0571085938|page=184|chapter=4, Programming|quote=The 'high' level programming languages are often called autocodes and the processor program, a compiler.}}<!--theThe book doeshas not have anno ISBN number, instead it has an SBN number. There is no typo in the previousprior sentence.--></ref>
Examples of autocodes are [[COBOL]] and [[Fortran]].<ref name=kleith2>{{cite book|last=London|first=Keith|title=Introduction to Computers|year=1968|publisher=Faber and Faber Limited|___location=24 Russell Square London WC1|isbn=0571085938|page=186|chapter=4, Programming|quote=Two high level programming languages which can be used here as examples to illustrate the structure and purpose of autocodes are COBOL (Common Business Oriented Language) and FORTRAN (Formular Translation).}}<!--theThe book doeshas not have anno ISBN number, instead it has an SBN number. There is no typo in the previousprior sentence.--></ref>
 
The first high-level programming language designed for computers was [[Plankalkül]], created by [[Konrad Zuse]].<ref>{{ill|Wolfgang Giloi{{!}}Giloi, Wolfgang, K.|de|Wolfgang Giloi}} (1997). "Konrad Zuse's Plankalkül: The First High-Level "non von Neumann" Programming Language". IEEE Annals of the History of Computing, vol. 19, no. 2, pp.&nbsp;17–24, April–June, 1997. [http://doi.ieeecomputersociety.org/10.1109/85.586068 (abstract)]</ref> However, it was not implemented in his time, and his original contributions were largely isolated from other developments due to [[World War II]], aside from the language's influence on the "Superplan" language by [[Heinz Rutishauser]] and also to some degree [[ALGOL|Algol]]. The first significantly widespread high-level language was [[Fortran]], a machine-independent development of IBM's earlier [[Autocode]] systems. The [[ALGOL|Algol]] family, with [[ALGOL 58|Algol 58]] defined in 1958 and [[ALGOL 60|Algol 60]] defined in 1960 by committees of European and American computer scientists, introduced [[recursion]] as well as [[nested functions]] under [[lexical scope]]. AlgolALGOL 60 was also the first language with a clear distinction between [[call by value|value]] and [[call by name|name-parameter]]s and their corresponding [[Semantics (computer science)|semantics]].<ref>Although it lacked a notion of [[call by reference|reference-parameter]]s, which could be a problem in some situations. Several successors, including [[AlgolWALGOL W]], [[Algol68ALGOL 68]], [[Simula]], [[Pascal (programming language)|Pascal]], [[Modula]] and [[Ada (programming language)|Ada]] thereforethus included reference-parameters (The related C-language family instead allowed addresses as '''<code>value'''</code>-parameters).</ref> AlgolALGOL also introduced several [[structured programming]] concepts, such as the '''<code>while-do'''</code> and '''<code>if-then-else'''</code> constructs and its [[syntaxSyntax (programming languages)|syntax]] was the first to be described in formal notation – "''[[Backus–Naur form]]"'' (BNF). During roughly the same period, [[CobolCOBOL]] introduced [[recordRecord (computer science)|record]]s (also called structs) and [[Lisp (programming language)|Lisp]] introduced a fully general [[lambda abstraction]] in a programming language for the first time.
 
== Features ==
Line 95:
 
{{Programming language}}
 
{{Authority control}}