Talk:Programming language: Difference between revisions

Content deleted Content added
Line 233:
*{{cite journal |last1=Nofre |first1=David |last2=Priestley |first2=Mark |last3=Alberts |first3=Gerard |title=When Technology Became Language: The Origins of the Linguistic Conception of Computer Programming, 1950–1960 |journal=Technology and Culture |date=2014 |volume=55 |issue=1 |pages=40–75 |url=https://www.jstor.org/stable/24468397 |issn=0040-165X}}
Thank you [[User:Buidhe paid|Buidhe paid]] ([[User talk:Buidhe paid|talk]]) 04:37, 27 January 2024 (UTC)
 
Please change the content of the article lead (beginning below "use dmy dates" template) to:
{{collapse top}}
 
[[File:C Hello World Program.png|thumb|right|upright=1.3|The [[source code]] for a computer program in [[C (programming language)|C]]. The gray lines are [[comment (computer programming)|comments]] that explain the program to humans. When [[compiled]] and [[Execution (computing)|run]], it will give the output "[["Hello, World!" program|Hello, world!]]".]]
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>
 
Programming languages are described in terms of their [[Syntax (programming languages)|syntax]] (form) and [[semantics (computer science)|semantics]] (meaning), usually defined by a [[formal language]]. Most languages have a [[type system]] consisting of different [[data types]] (such as [[integers]] and [[string (computing)|strings]]) and catch [[type error]]s where one type is given where another is expected. Many support [[user-defined type]]s including [[abstract data types]], often used for [[object-oriented programming]]. [[Programming language implementation|Implementation]] in the form of a [[compiler]] or [[Interpreter (computing)|interpreter]] allows programs to be translated into [[machine code]] and [[Execution (computing)|executed]].
 
[[Computer architecture]] has strongly influenced the design of programming languages, with the most common type ([[imperative languages]]—which implement operations in a specified order) developed to perform well on the popular [[von Neumann architecture]]. While early programming languages were closely tied to the [[Computer hardware|hardware]], over time, they have developed more [[abstraction (computer science)|abstraction]] to hide implementation details for greater simplicity.
 
Thousands of programming languages—often classified as imperative, [[functional programming|functional]], [[logic programming|logic]], or [[object-oriented programming|object-oriented]]—have been developed for a wide variety of uses. Many aspects of programming language design involve tradeoffs—for example, [[exception handling]] reduces errors at a performance cost—such that efforts to develop a universal programming language have failed. [[Programming language theory]] is the subfield of [[computer science]] that studies the design, implementation, analysis, characterization, and classification of programming languages.
{{talk ref}}
{{collapse bottom}}
Thanks [[User:Buidhe paid|Buidhe paid]] ([[User talk:Buidhe paid|talk]]) 08:57, 27 January 2024 (UTC)