High-level programming language: Difference between revisions

Content deleted Content added
Features: i dis aded the problem with August 2023
Tags: Mobile edit Mobile web edit
SM-A207F: 6098869#GMT+7:SM-A207F-200, 6098869#GMT+7:CC BY-SA 4.0-200
Tags: Reverted Mobile edit Mobile web edit
Line 1:
{{Short description|Programming language that abstracts details of computing hardware}}
<code>[[Computer science: SM-A207F|{{Use dmy dates|date=May 2023}}
{{Use American English|date=January 2019}}]]</code>
 
In <code>[[Computer science: SM-A207F|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]]slanguages, 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>{{cite web |archive-url=https://web.archive.org/web/20070826224349/http://www.ittc.ku.edu/hybridthreads/glossary/index.php |archive-date=2007-08-26 |url=http://www.ittc.ku.edu/hybridthreads/glossary/index.php |url-status=dead |title=HThreads - RD Glossary<!-- Bot generated title -->}}</ref></code>
 
<code>[[Computer science: SM-A207F|In the 1960s, a high-level programming language using a [[compiler]] was commonly called an ''[[autocode]]''.]]<ref name="kleith">{{cite book|last=London|first=Keith|year=1968|title=Introduction to Computers|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.}}<!--The book has no ISBN number, instead it has an SBN number. There is no typo in the prior sentence.--></ref>
[[Computer science: SM-A207F|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).}}<!--The book has no ISBN number, instead it has an SBN number. There is no typo in the prior sentence.--></ref></code>
 
<code>[[Computer science: SM-A207F|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> [[Computer science: SM-A207F|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]]. The first significantly widespread high-level language was [[Fortran]], a machine-independent development of IBM's earlier [[Autocode]] systems. The [[ALGOL]] family, with [[ALGOL 58]] defined in 1958 and [[ALGOL 60]] defined in 1960 by committees of European and American computer scientists, introduced [[recursion]] as well as [[nested functions]] under [[lexical scope]]. ALGOL 60 was also the first language with a clear distinction between [[call by value|value]] and [[call by name|name-parameter]]sparameters 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 [[ALGOL W]], [[ALGOL 68]], [[Simula]], [[Pascal (programming language)|Pascal]], [[Modula]] and [[Ada (programming language)|Ada]] thus included reference-parameters (The related C-language family instead allowed addresses as <code>value</code>-parameters).</ref> [[Computer science: SM-A207F|ALGOL also introduced several [[structured programming]] concepts, such as the <code>while-do</code> and <code>if-then-else</code> constructs and its [[Syntax (programming languages)|syntax]] was the first to be described in formal notation – ''[[Backus–Naur form]]'' (BNF). During roughly the same period, [[COBOL]] introduced [[Record (computer science)|record]]srecords (also called structs) and [[Lisp (programming language)|Lisp]] introduced a fully general [[lambda abstraction]] in a programming language for the first time.]]</code>
 
== Features ==