Programming language: Difference between revisions

[pending revision][accepted revision]
Content deleted Content added
Definitions: markup languages after the talk page discussion
Tag: Reverted
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
Line 17:
 
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.
 
A [[Markup language]] like [[HTML]] is a [[declarative programming language]]. [[XML]] is not a markup language because it is not Turing complete and also it does not define a dataset.<ref>[http://www.w3.org/XML/1999/XML-in-10-points.html XML in 10 points] {{webarchive|url=https://web.archive.org/web/20090906083110/http://www.w3.org/XML/1999/XML-in-10-points.html|date=6 September 2009}} [[W3C]], 1999, "XML is not a programming language."</ref><ref>{{cite book |last=Powell |first=Thomas |title=HTML & XHTML: the complete reference |publisher=McGraw-Hill |year=2003 |isbn=978-0-07-222942-4 |page=25 |quote=HTML is not a programming language.}}</ref><ref>{{cite book |last1=Dykes |first1=Lucinda |url=https://archive.org/details/html4fordummies00titt_2 |title=XML For Dummies |last2=Tittel |first2=Ed |publisher=Wiley |year=2005 |isbn=978-0-7645-8845-7 |edition=4th |page=[https://archive.org/details/html4fordummies00titt_2/page/20 20] |quote=...it's a markup language, not a programming language. |url-access=registration}}</ref>
 
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>