Talk:Programming language: Difference between revisions

Content deleted Content added
Tag: Reverted
Line 248:
{{collapse bottom}}
Thanks [[User:Buidhe paid|Buidhe paid]] ([[User talk:Buidhe paid|talk]]) 08:57, 27 January 2024 (UTC)
 
Please remove the first two subsections in the "History" section, after the hatnote, except for the last paragraph of the "Refinement" section. Please replace the removed text with:
{{collapse top}}
===Early developments===
The first programmable computers were invented at the end of the 1940s, and with them, the first programming languages.{{sfn|Gabbrielli|Martini|2023|p=519}} The earliest computers were programmed in [[first-generation programming language]]s (1GLs), [[machine language]] (simple instructions that could be directly executed by the processor). This code was very difficult to debug and was not [[portability (computing)|portable]] between different computer systems.{{sfn|Gabbrielli|Martini|2023|pp=520–521}} In order to improve the ease of programming, [[assembly languages]] (or [[second-generation programming language]]s—2GLs) were invented, diverging from the machine language to make programs easier to understand for humans, although they did not increase portability.{{sfn|Gabbrielli|Martini|2023|p=521}}
 
Initially, hardware resources were scare and expensive, while [[human resources]] were cheaper. Therefore, cumbersome languages that were time-consuming to use, but were closer to the hardware for higher efficiency were favored.{{sfn|Gabbrielli|Martini|2023|p=522}} The introduction of [[high-level programming language]]s ([[third-generation programming language]]s—3GLs)—revolutionized programming. These languages [[abstraction (computing)|abstracted]] away the details of the hardware, instead being designed to express algorithms that could be understood more easily by humans. For example, arithmetic expressions could now be written in symbolic notation and later translated into machine code that the hardware could execute.{{sfn|Gabbrielli|Martini|2023|p=521}} In 1957, [[Fortran]] (FORmula TRANslation) was invented; it is considered the first [[compiler|compiled]] high-level programming language{{sfn|Gabbrielli|Martini|2023|p=521}}{{sfn|Sebesta|2012|p=42}} and the first third-generation language to be widely used.<ref>{{cite web |url=http://www.nbcnews.com/id/17704662 |title=Fortran creator John Backus dies – Tech and gadgets|publisher=NBC News |date=2007-03-20 |access-date=2010-04-25}}</ref> Fortran has remained in use into the twenty-first century.{{sfn|Gabbrielli|Martini|2023|p=524}}
 
===1960s and 1970s===
Around 1960, the first [[mainframes]]—general purpose computers—were developed, although they could only be operated by professionals and the cost was extreme. The data and instructions were input by [[punch cards]], meaning that no input could be added while the program was running. The languages developed at this time therefore are designed for minimal interaction.{{sfn|Gabbrielli|Martini|2023|pp=523–524}} After the invention of the [[microprocessor]], computers in the 1970s became dramatically cheaper.{{sfn|Gabbrielli|Martini|2023|p=527}} New computers also allowed more user interaction, which was supported by newer programming languages.{{sfn|Gabbrielli|Martini|2023|p=528}}
 
[[Lisp (programming language)|Lisp]], implemented in 1958, was the first [[functional programming]] language. Unlike Fortran, it supports [[recursion]] and [[conditional expression]]s,{{sfn|Sebesta|2012|pp=47–48}} and it also introduced [[dynamic memory management]] on a [[heap (computer science)|heap]] and automatic [[Garbage collection (computer science)|garbage collection]].{{sfn|Gabbrielli|Martini|2023|p=526}} For the next decades, Lisp dominated [[artificial intelligence]] applications.{{sfn|Sebesta|2012|p=50}} In 1978, another functional language, [[ML (programming language)|ML]], introduced [[type inference|inferred types]] and polymorphic [[Parameter (computer programming)|parameter]]s.{{sfn|Gabbrielli|Martini|2023|p=528}}{{sfn|Sebesta|2012|pp=701–703}}
 
After [[ALGOL]] (ALGOrithmic Language) was released in 1958 and 1960,{{sfn|Gabbrielli|Martini|2023|pp=524–525}} it became the standard in computing literature for describing [[algorithm]]s. Although its commercial success was limited, most popular imperative languages—including [[C (programming language)|C]], [[Pascal (programming language)|Pascal]], [[Ada (programming language)|Ada]], [[C++]], [[Java (programming language)|Java]], and [[C Sharp (programming language)|C#]]—are directly or indirectly descended from ALGOL 60.{{sfn|Sebesta|2012|pp=56–57}}{{sfn|Gabbrielli|Martini|2023|p=524}} Among its innovations adopted by later programming languages included greater portability and the first use of [[context-free grammar|context-free]], [[Backus–Naur form|BNF]] grammar.{{sfn|Gabbrielli|Martini|2023|p=525}} [[Simula]], the first language to support [[object-oriented programming]] (including [[subtypes]], [[dynamic dispatch]], and [[inheritance (computer science)|inheritance]]), also descends from ALGOL and achieved commercial success.{{sfn|Gabbrielli|Martini|2023|pp=526–527}} C, another ALGOL descendant, was the most important introduced in the 1970s and has sustained popularity into the twenty-first century. C allows access to lower-level machine operations more than other contemporary languages. Its power and efficiency, generated in part with flexible [[Pointer (computer programming)|pointer]] operations, comes at the cost of making it more difficult to write correct code.{{sfn|Gabbrielli|Martini|2023|p=528}}
 
[[Prolog]], designed in 1972, was the first [[logic programming]] language, communicating with a computer using formal logic notation.{{sfn|Gabbrielli|Martini|2023|p=531}}{{sfn|Sebesta|2012|p=79}} With logic programming, the programmer specifies a desired result and allows the [[interpreter (computer science)|interpreter]] to decide how to achieve it.{{sfn|Gabbrielli|Martini|2023|p=530}}{{sfn|Sebesta|2012|p=79}}
{{talk ref}}
{{collapse bottom}}
 
Reasons: add references, improve summary style, remove unsourced text, fix some MOS:CURRENT issues [[User:Buidhe paid|Buidhe paid]] ([[User talk:Buidhe paid|talk]]) 20:08, 28 January 2024 (UTC)