Programming language: Difference between revisions

[accepted revision][accepted revision]
Content deleted Content added
Reverted 1 pending edit by 2A00:23C5:E9AC:DA01:802F:47EA:12F:C66E to revision 1285730479 by Annh07: Incorrect information
Tags: Manual revert Mobile edit Mobile web edit Advanced mobile edit
m Punctuation
Line 16:
The term ''[[computer language]]'' is sometimes used interchangeably with "programming language".<ref>Robert A. Edmunds, The Prentice-Hall standard glossary of computer terminology, Prentice-Hall, 1985, p. 91</ref> However, usage of these terms varies among authors.
 
In one usage, programming languages are described as a subset of computer languages.<ref>Pascal Lando, Anne Lapujade, Gilles Kassel, and Frédéric Fürst, ''[http://home.mis.u-picardie.fr/~site-ic/site/IMG/pdf/ICSOFT2007_final.pdf Towards a General Ontology of Computer Programs]'' {{webarchive|url=https://web.archive.org/web/20150707093557/http://home.mis.u-picardie.fr/~site-ic/site/IMG/pdf/ICSOFT2007_final.pdf|date=7 July 2015}}, [http://dblp.uni-trier.de/db/conf/icsoft/icsoft2007-1.html ICSOFT 2007] {{webarchive|url=https://web.archive.org/web/20100427063709/http://dblp.uni-trier.de/db/conf/icsoft/icsoft2007-1.html|date=27 April 2010}}, pp. 163–170</ref> Similarly, the term "computer language" may be used in contrast to the term "programming language" to describe languages used in computing but not considered programming languages.{{Citation needed|date=October 2024}}. Most practical programming languages are Turing complete,<ref name=":0">{{Cite web |title=Turing Completeness |url=https://www.cs.odu.edu/~zeil/cs390/latest/Public/turing-complete/index.html |url-status=live |archive-url=https://web.archive.org/web/20220816145137/https://cs.odu.edu/~zeil/cs390/latest/Public/turing-complete/index.html |archive-date=16 August 2022 |access-date=2022-10-05 |website=www.cs.odu.edu}}</ref> and as such are equivalent in what programs they can compute.
 
Another usage regards programming languages as theoretical constructs for programming [[abstract machine]]s and computer languages as the subset thereof that runs on physical computers, which have finite hardware resources.<ref>R. Narasimhan, Programming Languages and Computers: A Unified Metatheory, pp. 189—247 in Franz Alt, Morris Rubinoff (eds.) Advances in computers, Volume 8, Academic Press, 1994, {{ISBN|0-12-012108-5}}, p.215: "[...] the model [...] for computer languages differs from that [...] for programming languages in only two respects. In a computer language, there are only finitely many names—or registers—which can assume only finitely many values—or states—and these states are not further distinguished in terms of any other attributes. [author's footnote:] This may sound like a truism but its implications are far-reaching. For example, it would imply that any model for programming languages, by fixing certain of its parameters or features, should be reducible in a natural way to a model for computer languages."</ref> [[John C. Reynolds]] emphasizes that [[formal specification]] languages are just as much programming languages as are the languages intended for execution. He also argues that textual and even graphical input formats that affect the behavior of a computer are programming languages, despite the fact they are commonly not Turing-complete, and remarks that ignorance of programming language concepts is the reason for many flaws in input formats.<ref>John C. Reynolds, "Some thoughts on teaching programming and programming languages", ''[[SIGPLAN]] Notices'', Volume 43, Issue 11, November 2008, p.109</ref>