Programming language theory
programming language researchProgramming languagestheory of programming languageslanguage researchprogramming languageprogramming language design
Programming language theory (PLT) is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of programming languages and their individual features.wikipedia
169 Related Articles
Computer science
computer scientistcomputer sciencescomputer scientists
Programming language theory (PLT) is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of programming languages and their individual features. It falls within the discipline of computer science, both depending on and affecting mathematics, software engineering, linguistics and even cognitive science.
Programming language theory considers approaches to the description of computational processes, while computer programming itself involves the use of programming languages and complex systems.



Lambda calculus
beta reductionλ-calculusuntyped lambda calculus
The lambda calculus, developed by Alonzo Church and Stephen Cole Kleene in the 1930s, is considered by some to be the world's first programming language, even though it was intended to model computation rather than being a means for programmers to describe algorithms to a computer system.
Lambda calculus has played an important role in the development of the theory of programming languages.
Curry–Howard correspondence
Curry–Howard isomorphismCurry-Howard correspondencepropositions-as-types
In programming language theory and proof theory, the Curry–Howard correspondence (also known as the Curry–Howard isomorphism or equivalence, or the proofs-as-programs and propositions- or formulae-as-types interpretation) is the direct relationship between computer programs and mathematical proofs.
Noam Chomsky
ChomskyChomsky, NoamChomskyan
* Noam Chomsky developed the Chomsky hierarchy in the field of linguistics; a discovery which has directly impacted programming language theory and other branches of computer science.
This classification was and remains foundational to formal language theory, and relevant to theoretical computer science, especially programming language theory, compiler construction, and automata theory.








Programming language
programming languageslanguagedialect
Programming language theory (PLT) is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of programming languages and their individual features.



Category theory
categorycategoricalcategories
In addition, PLT makes use of many other branches of mathematics, including computability theory, category theory, and set theory.
Category theory has practical applications in programming language theory, for example the usage of monads in functional programming.
Higher-Order and Symbolic Computation
LISP and Symbolic Computation
Notable journals that publish PLT research include the ACM Transactions on Programming Languages and Systems (TOPLAS), Journal of Functional Programming (JFP), Journal of Functional and Logic Programming, and Higher-Order and Symbolic Computation.
It focusses on programming concepts and abstractions and programming language theory.
John C. Mitchell
John MitchellMitchell, J.C.Mitchell, John C.
He has published in the area of programming language theory and computer security.

Mathematics
mathematicalmathmathematician
In addition, PLT makes use of many other branches of mathematics, including computability theory, category theory, and set theory. It falls within the discipline of computer science, both depending on and affecting mathematics, software engineering, linguistics and even cognitive science.








Software engineering
software engineersoftware engineerssoftware
It falls within the discipline of computer science, both depending on and affecting mathematics, software engineering, linguistics and even cognitive science.
Linguistics
linguistlinguisticlinguists
* Noam Chomsky developed the Chomsky hierarchy in the field of linguistics; a discovery which has directly impacted programming language theory and other branches of computer science. It falls within the discipline of computer science, both depending on and affecting mathematics, software engineering, linguistics and even cognitive science.
Cognitive science
cognitive scientistcognitive sciencescognitive
It falls within the discipline of computer science, both depending on and affecting mathematics, software engineering, linguistics and even cognitive science.

Academic journal
journaljournalsacademic journals
It is a well-recognized branch of computer science, and an active research area, with results published in numerous journals dedicated to PLT, as well as in general computer science and engineering publications.

Alonzo Church
ChurchChurch, Alonzo
The lambda calculus, developed by Alonzo Church and Stephen Cole Kleene in the 1930s, is considered by some to be the world's first programming language, even though it was intended to model computation rather than being a means for programmers to describe algorithms to a computer system.

Stephen Cole Kleene
Stephen KleeneKleeneStephen C. Kleene
The lambda calculus, developed by Alonzo Church and Stephen Cole Kleene in the 1930s, is considered by some to be the world's first programming language, even though it was intended to model computation rather than being a means for programmers to describe algorithms to a computer system.

Model of computation
models of computationmodelmodels of computing
The lambda calculus, developed by Alonzo Church and Stephen Cole Kleene in the 1930s, is considered by some to be the world's first programming language, even though it was intended to model computation rather than being a means for programmers to describe algorithms to a computer system.
Computer programming
programmingcodingprogrammable
The lambda calculus, developed by Alonzo Church and Stephen Cole Kleene in the 1930s, is considered by some to be the world's first programming language, even though it was intended to model computation rather than being a means for programmers to describe algorithms to a computer system.





Functional programming
functionalfunctional programming languagefunctional language
Many modern functional programming languages have been described as providing a "thin veneer" over the lambda calculus, and many are easily described in terms of it.
Plankalkül
Plankalkul
The first programming language to be invented was Plankalkül, which was designed by Konrad Zuse in the 1940s, but not publicly known until 1972 (and not implemented until 1998).
Konrad Zuse
ZuseZuse, KonradZuse KG
The first programming language to be invented was Plankalkül, which was designed by Konrad Zuse in the 1940s, but not publicly known until 1972 (and not implemented until 1998).








High-level programming language
high-levelhigh-level languagehigh level language
The first widely known and successful high-level programming language was Fortran, developed from 1954 to 1957 by a team of IBM researchers led by John Backus.
Fortran
Fortran 77Fortran 90FORTRAN IV
The first widely known and successful high-level programming language was Fortran, developed from 1954 to 1957 by a team of IBM researchers led by John Backus.





IBM
International Business MachinesIBM CorporationInternational Business Machines Corporation
The first widely known and successful high-level programming language was Fortran, developed from 1954 to 1957 by a team of IBM researchers led by John Backus.









John Backus
John W. BackusBackusBackus, John
The first widely known and successful high-level programming language was Fortran, developed from 1954 to 1957 by a team of IBM researchers led by John Backus.

ALGOL 58
International Algebraic Language1958 Preliminary ReportALGOL
The success of FORTRAN led to the formation of a committee of scientists to develop a "universal" computer language; the result of their effort was ALGOL 58.