[accepted revision] | [accepted revision] |
Content deleted Content added
mNo edit summary Tags: Reverted Visual edit |
|||
Line 6:
A '''programming language''' is a system of notation for writing [[computer program]]s.<ref name="Aaby 2004">{{cite book |last=Aaby |first=Anthony |url=http://www.emu.edu.tr/aelci/Courses/D-318/D-318-Files/plbook/intro.htm |title=Introduction to Programming Languages |year=2004 |access-date=29 September 2012 |archive-url=https://web.archive.org/web/20121108043216/http://www.emu.edu.tr/aelci/Courses/D-318/D-318-Files/plbook/intro.htm |archive-date=8 November 2012 |url-status=dead}}</ref> Most programming languages are text-based [[formal language]]s, but they may also be [[visual programming language|graphical]]. They are a kind of [[computer language]].
The description of a programming language is usually split into the two components of [[Syntax (programming languages)|syntax]] (form) and [[semantics (computer science)|semantics]] (meaning), which are usually defined by a
[[Programming language theory]] is the subfield of [[computer science]] that studies the design, implementation, analysis, characterization, and classification of programming languages.
Line 221:
==Use==
Thousands of different programming languages have been created, mainly in the computing field.<ref>{{cite web|access-date=1 June 2009|url=http://hopl.murdoch.edu.au/|title=HOPL: an interactive Roster of Programming Languages|publisher=[[Murdoch University]]|location=Australia|quote=This site lists 8512 languages.|url-status=dead|archive-url=https://web.archive.org/web/20110220044217/http://hopl.murdoch.edu.au/|archive-date=20 February 2011}}</ref>
Individual software projects commonly use five programming languages or more.<ref>{{cite conference|first1=Philip|conference=Proceedings of the 19th International Conference on Evaluation and Assessment in Software Engineering – EASE '15|last1=Mayer|first2=Alexander|last2=Bauer|title=Proceedings of the 19th International Conference on Evaluation and Assessment in Software Engineering |publisher=ACM|year=2015|location=New York, NY, USA|isbn=978-1-4503-3350-4|pages=4:1–4:10|doi=10.1145/2745802.2745805|quote=Results: We found (a) a mean number of 5 languages per project with a clearly dominant main general-purpose language and 5 often-used DSL types, (b) a significant influence of the size, number of commits, and the main language on the number of languages as well as no significant influence of age and number of contributors, and (c) three language ecosystems grouped around XML, Shell/Make, and HTML/CSS. Conclusions: Multi-language programming seems to be common in open-source projects and is a factor that must be dealt with in tooling and when assessing the development and maintenance of such software systems.|chapter=An empirical analysis of the
Programming languages differ from most other forms of human expression in that they require a greater degree of precision and completeness. When using a natural language to communicate with other people, human authors and speakers can be ambiguous and make small errors, and still expect their intent to be understood. However, figuratively speaking, computers "do exactly what they are told to do", and cannot "understand" what code the programmer intended to write. The combination of the language definition, a program, and the program's inputs must fully specify the external behavior that occurs when the program is executed, within the domain of control of that program. On the other hand, ideas about an algorithm can be communicated to humans without the precision required for execution by using [[pseudocode]], which interleaves natural language with code written in a programming language.
Line 322:
{{refbegin|2}}
* {{cite book|last1=Abelson|first1=Harold|author-link1=Harold Abelson|last2=Sussman|first2=Gerald Jay|author-link2=Gerald Jay Sussman|title=Structure and Interpretation of Computer Programs|url=http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html|edition=2nd|year=1996|publisher=MIT Press|archive-url=https://web.archive.org/web/20180309173822/https://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html|archive-date=9 March 2018|url-status=dead}}
* [[Raphael Finkel]]: ''
* [[Daniel P. Friedman]], [[Mitchell Wand]], [[Christopher T. Haynes]]: ''[[Essentials of Programming Languages]]'', The MIT Press 2001.
* Maurizio Gabbrielli and Simone Martini: "Programming Languages: Principles and Paradigms", Springer, 2010.
Line 328:
* [[Ellis Horowitz]] (ed.): ''Programming Languages, a Grand Tour'' (3rd ed.), 1987.
* Ellis Horowitz: ''Fundamentals of Programming Languages'', 1989.
* [[Shriram Krishnamurthi]]: ''[[Programming Languages: Application and Interpretation]]'',
* [[Bruce J. MacLennan]]: ''Principles of Programming Languages: Design, Evaluation, and Implementation'', [[Oxford University Press]] 1999.
* [[John C. Mitchell]]: ''Concepts in Programming Languages'', [[Cambridge University Press]] 2002.
|