HOME

TheInfoList



OR:

The following is list of researchers of
programming language theory Programming language theory (PLT) is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of formal languages known as programming languages. Programming language theory is clos ...
,
design A design is the concept or proposal for an object, process, or system. The word ''design'' refers to something that is or has been intentionally created by a thinking agent, and is sometimes used to refer to the inherent nature of something ...
,
implementation Implementation is the realization of an application, execution of a plan, idea, scientific modelling, model, design, specification, Standardization, standard, algorithm, policy, or the Management, administration or management of a process or Goal ...
, and related areas.


A

* Martín Abadi, for the programming language Baby Modula-3 and his book (with
Luca Cardelli Luca Andrea Cardelli is an Italian computer scientist who is a research professor at the University of Oxford, UK. Cardelli is well known for his research in type theory and operational semantics. Among other contributions, in programming lang ...
) ''A Theory of Objects'' * Samson Abramsky, contributions to the areas of the lazy
lambda calculus In mathematical logic, the lambda calculus (also written as ''λ''-calculus) is a formal system for expressing computability, computation based on function Abstraction (computer science), abstraction and function application, application using var ...
and concurrency theory and co-editing the 6 Volume ''Handbook of Logic in Computer Science'' * Jean-Raymond Abrial, father of the
Z notation The Z notation is a formal specification language used for describing and modelling computing systems. It is targeted at the clear specification of computer programs and computer-based systems in general. History In 1974, Jean-Raymond Abria ...
and the B-Method, targeted at the clear specification and refinement of
computer program A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. It is one component of software, which also includes software documentation, documentation and other intangibl ...
s and computer-based systems in general * Vikram Adve, the 2012 ACM Software System Award for
LLVM LLVM, also called LLVM Core, is a target-independent optimizer and code generator. It can be used to develop a Compiler#Front end, frontend for any programming language and a Compiler#Back end, backend for any instruction set architecture. LLVM i ...
, a set of
compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
and
toolchain A toolchain is a set of software development tools used to build and otherwise develop software. Often, the tools are executed sequentially and form a pipeline such that the output of one tool is the input for the next. Sometimes the term is us ...
technologies * Gul Agha, elected as an ACM Fellow in 2018 for ''research in concurrent programming and formal methods, specifically the
Actor Model The actor model in computer science is a mathematical model of concurrent computation that treats an ''actor'' as the basic building block of concurrent computation. In response to a message it receives, an actor can: make local decisions, create ...
'' *
Alfred Aho Alfred Vaino Aho (born August 9, 1941) is a Canadian computer scientist best known for his work on programming languages, compilers, and related algorithms, and his textbooks on the art and science of computer programming. Aho was elected into ...
, the A of AWK, 2020
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
for fundamental algorithms and theory underlying programming language implementation and for synthesizing these results ...highly influential books ... * Frances Allen, the 2006
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
for pioneering contributions to the theory and practice of optimizing compiler techniques ... * Andrew Appel, especially well-known because of his
compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
books, the ''Modern Compiler Implementation in ML'' () series, as well as ''Compiling With Continuations'' () * Krzysztof R. Apt, the use of logic as a programming language * Bruce Arden, co-authored two compilers, GAT for the
IBM 650 The IBM 650 Magnetic Drum Data-Processing Machine is an early digital computer produced by IBM in the mid-1950s. It was the first mass-produced computer in the world. Almost 2,000 systems were produced, the last in 1962, and it was the firs ...
and MAD * Arvind, see Arvind Mithal * Lennart Augustsson, languages (Lazy ML, Cayenne), compilers (HBC
Haskell Haskell () is a general-purpose, statically typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research, and industrial applications, Haskell pioneered several programming language ...
, parallel Haskell front end,
Bluespec Bluespec, Inc. is an American semiconductor device electronic design automation company based in Framingham, Massachusetts, and co-founded in June 2003 by computer scientists Arvind Mithal, professor of the Massachusetts Institute of Technology (M ...
SystemVerilog early)


B

* Ralph-Johan Back, originated the refinement calculus, used in the formal development of programs using stepwise refinement * Roland Backhouse, work on the mathematics of program construction and algorithm problem solving; books on ''Syntax of Programming Languages'', '' Program Construction and Verification'', and more *
John Backus John Warner Backus (December 3, 1924 – March 17, 2007) was an American computer scientist. He led the team that invented and implemented FORTRAN, the first widely used high-level programming language, and was the inventor of the Backus–N ...
, the 1977
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
for profound, influential, and lasting contributions to the design of practical high-level programming systems, notably through his work on FORTRAN, and for seminal publication of formal procedures for the specification of programming languages * George N. Baird, the 1974 Grace Murray Hopper Award for his \development and implementation of the Navy's COBOL Compiler Validation System *
Lars Bak Lars Ytting Bak (born 16 January 1980) is a Danish former professional road bicycle racer, who rode professionally between 2002 and 2019 for the Fakta, , , , and squads. Since retiring as a rider, Bak has acted as a directeur sportif for in ...
, the 2018 AITO Dahl–Nygaard Prize for pioneering work in pointer-safe object-orientation and leading the implementation of
Beta Beta (, ; uppercase , lowercase , or cursive ; or ) is the second letter of the Greek alphabet. In the system of Greek numerals, it has a value of 2. In Ancient Greek, beta represented the voiced bilabial plosive . In Modern Greek, it represe ...
,
Self In philosophy, the self is an individual's own being, knowledge, and values, and the relationship between these attributes. The first-person perspective distinguishes selfhood from personal identity. Whereas "identity" is (literally) same ...
, Strongtalk, Java Hotspot, ..., the ACM SIGPLAN 2016 PL Software Award for V8 Javascript * Henri Bal, programming languages for distributed systems, e.g. Orca * Friedrich L. Bauer, proposed the stack method of expression evaluation, member of the
ALGOL 60 ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a ...
Committee, see also * Kent Beck, a leading proponent of
test-driven development Test-driven development (TDD) is a way of writing source code, code that involves writing an test automation, automated unit testing, unit-level test case that fails, then writing just enough code to make the test pass, then refactoring both the ...
(TDD), pioneered
software design pattern In software engineering, a software design pattern or design pattern is a general, reusable solution to a commonly occurring problem in many contexts in software design. A design pattern is not a rigid structure to be transplanted directly into s ...
s, and co-wrote JUnit for Java *
Jeff Bezanson Jeff Bezanson (born December 26, 1981) is an American computer scientist best known for co-creating the Julia (programming language), Julia programming language with Stefan Karpinski, Alan Edelman and Viral B. Shah in 2012. The language spawned ...
, the 2019 J. H. Wilkinson Prize for Numerical Software for the co-development of the Julia language * Dines Bjørner, the Vienna Development Method (VDM), the Raise specification language * Daniel Bobrow, 1992 ACM Software System Award for the IDE named
Interlisp Interlisp (also seen with a variety of capitalizations) is a programming environment built around a version of the programming language Lisp. Interlisp development began in 1966 at Bolt, Beranek and Newman (renamed BBN Technologies) in Cambridge, ...
*
Corrado Böhm Corrado Böhm (17 January 1923 – 23 October 2017) was an Italian computer scientist and Professor Emeritus at the Sapienza University of Rome, University of Rome "La Sapienza", known especially for his contributions to the theory of structured ...
, defined
Böhm's language Böhm's language refers to the language, machine and a translation method developed by Corrado Böhm during the latter part of 1950. Böhm used this work as part of his dissertation, submitted in 1951 (amended after submission), published in 1954 ...
, the first meta-circular evaluator, contributed the
structured program theorem The structured program theorem, also called the Böhm–Jacopini theorem, is a result in programming language theory. It states that a class of control-flow graphs (historically called flowcharts in this context) can compute any computable functi ...
* Grady Booch, developer of
Unified Modeling Language The Unified Modeling Language (UML) is a general-purpose visual modeling language that is intended to provide a standard way to visualize the design of a system. UML provides a standard notation for many types of diagrams which can be roughly ...
(UML) *
Kathleen Booth Kathleen Hylda Valerie Booth ( Britten, 9 July 1922 – 29 September 2022) was a British computer scientist and mathematician who wrote the first assembly language and designed the assembler and autocode for the first computer systems at Birkbe ...
, designed and developed first
assembly language In computing, assembly language (alternatively assembler language or symbolic machine code), often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence bet ...
* Stephen R. Bourne, developed
ALGOL 68C ALGOL 68C is an imperative computer programming language, a dialect of ALGOL 68, that was developed by Stephen R. Bourne and Michael Guy to program the Cambridge Algebra System (CAMAL). The initial compiler was written in the Princeton Synta ...
, member IFIP Working Group 2.1 on Algorithmic Languages and Calculi *
Gilad Bracha Gilad Bracha (Hebrew: גלעד ברכה) is a software engineer at F5, and formerly at Google, where he was on the Dart programming language team. He is creator of the Newspeak language, and co-author of the second and third editions of the Java ...
, the 2017 AITO Dahl–Nygaard Prize for outstanding work on many topics relevant to OO, including mixins, Java generics, Strongtalk, and
Newspeak In the dystopian novel '' Nineteen Eighty-Four'' (also published as ''1984''), by George Orwell, Newspeak is the fictional language of Oceania, a totalitarian superstate. To meet the ideological requirements of Ingsoc (English Socialism) in O ...
* Larry Breed, 1973
Grace Murray Hopper Award The Grace Murray Hopper Award (named for computer pioneer RADM Grace Hopper) has been awarded by the Association for Computing Machinery (ACM) since 1971. The award goes to a computer professional who makes a single, significant technical or serv ...
for designing and implementing APL\360 * Walter Bright, designer of D *
Per Brinch Hansen Per Brinch Hansen (13 November 1938 – 31 July 2007) was a Denmark, Danish-United States, American computer scientist known for his work in operating systems, Concurrent computing, concurrent Computer programming, programming and Parallel comput ...
(surname "Brinch Hansen"), the IEEE Computer Society 2002
Computer Pioneer Award The Computer Pioneer Award was established in 1981 by the Board of Governors of the IEEE Computer Society to recognize and honor the vision of those people whose efforts resulted in the creation and continued vitality of the computer industry. ...
for ... Concurrent Pascal * Kim Bruce, the 2021 AITO Dahl–Nygaard Prize for ... programming language theory and design in general and object orientation specifically * Margaret Burnett, pioneering contributions to
visual programming language In computing, a visual programming language (visual programming system, VPL, or, VPS), also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create computer program, programs by ...
s *
Rod Burstall Rodney Martineau Burstall (11 November 1934 – 13 February 2025) was a British computer scientist who was one of four founders of the Laboratory for Foundations of Computer Science at the University of Edinburgh. Biography Burstall studied p ...
, languages COWSEL (renamed POP-1), POP-2, NPL,
Hope Hope is an optimistic state of mind that is based on an expectation of positive outcomes with respect to events and circumstances in one's own life, or the world at large. As a verb, Merriam-Webster defines ''hope'' as "to expect with confid ...
; ACM SIGPLAN 2009 PL Achievement Award *
Richard Burton Richard Burton (; born Richard Walter Jenkins Jr.; 10 November 1925 – 5 August 1984) was a Welsh actor. Noted for his mellifluous baritone voice, Burton established himself as a formidable Shakespearean actor in the 1950s and gave a memor ...
, the 1992 ACM Software System Award for the IDE called
Interlisp Interlisp (also seen with a variety of capitalizations) is a programming environment built around a version of the programming language Lisp. Interlisp development began in 1966 at Bolt, Beranek and Newman (renamed BBN Technologies) in Cambridge, ...


C

*
Luca Cardelli Luca Andrea Cardelli is an Italian computer scientist who is a research professor at the University of Oxford, UK. Cardelli is well known for his research in type theory and operational semantics. Among other contributions, in programming lang ...
, research in
type theory In mathematics and theoretical computer science, a type theory is the formal presentation of a specific type system. Type theory is the academic study of type systems. Some type theories serve as alternatives to set theory as a foundation of ...
and
operational semantics Operational semantics is a category of formal programming language semantics in which certain desired properties of a program, such as correctness, safety or security, are verified by constructing proofs from logical statements about its exec ...
, helped develop
Modula-3 Modula-3 is a programming language conceived as a successor to an upgraded version of Modula-2 known as Modula-2+. It has been influential in research circles (influencing the designs of languages such as Java, C#, Python and Nim), but it ha ...
and Polyphonic C#, first
compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
for ML, the 2007 AITO Dahl–Nygaard Prize, * Craig Chambers, the 2011 AITO Dahl–Nygaard Prize for the design of Cecil and his work on compiler techniques used to implement OO languages ... * John Chambers, the 1998 ACM Software System Award for the programing language S * K. Mani Chandy, contributions to the verification of parallel programming languages, including the language UNITY *
Alonzo Church Alonzo Church (June 14, 1903 – August 11, 1995) was an American computer scientist, mathematician, logician, and philosopher who made major contributions to mathematical logic and the foundations of theoretical computer science. He is bes ...
, the
Lambda calculus In mathematical logic, the lambda calculus (also written as ''λ''-calculus) is a formal system for expressing computability, computation based on function Abstraction (computer science), abstraction and function application, application using var ...
; considered a founder of
computer science Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
* John Cocke, the 1987
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
for significant contributions in the design and theory of compilers, ..., and ...; co-developed the CYK parsing algorithm * Alain Colmerauer, creator of
Prolog Prolog is a logic programming language that has its origins in artificial intelligence, automated theorem proving, and computational linguistics. Prolog has its roots in first-order logic, a formal logic. Unlike many other programming language ...
*
Richard W. Conway Richard Walter Conway (December 12, 1931 – March 19, 2024) was an American industrial engineer and computer scientist who was the Emerson Electric Company Professor of Manufacturing Management, Emeritus in the Johnson Graduate School of Manage ...
, for the introductory languages CORC and CUPL and the student-oriented dialect PL/C; for extensive error correction so that every program compiled * William Cook, chief architect of
AppleScript AppleScript is a scripting language created by Apple Inc. that facilitates automated control of Mac applications. First introduced in System 7, it is currently included in macOS in a package of automation tools. The term ''AppleScript'' may ...
, the 2014 AITO Dahl–Nygaard Prize for contributions to the theory and practice of OO programming * Keith Cooper, research on programming languages, compilers, optimization, and static analysis *
Thierry Coquand Thierry Coquand (; born 18 April 1961) is a French computer scientist and mathematician who is currently a professor of computer science at the University of Gothenburg, having previously worked at INRIA. He is known for his work in constructive ...
, ACM SIGPLAN 2013 PL Software Award and the 2015 ACM Software System Award for
Coq Coenzyme Q10 (CoQ10 ), also known as ubiquinone, is a naturally occurring biochemical cofactor (coenzyme) and an antioxidant produced by the human body. It can also be obtained from dietary sources, such as meat, fish, seed oils, vegetables, ...
* Patrick Cousot, for contributions to
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s through the co-invention of
abstract interpretation In computer science, abstract interpretation is a theory of sound approximation of the semantics of computer programs, based on monotonic functions over ordered sets, especially lattices. It can be viewed as a partial execution of a computer pro ...
, ACM SIGPLAN 2013 PL Achievement Award *
Radhia Cousot Radhia Cousot (6 August 1947 – 1 May 2014) was a French computer scientist known for inventing abstract interpretation. Studies Radhia Cousot was born on 6 August 1947, in Sakiet Sidi Youssef in Tunisia, where she survived the massacre of ...
, for contributions to
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s through the co-invention of
abstract interpretation In computer science, abstract interpretation is a theory of sound approximation of the semantics of computer programs, based on monotonic functions over ordered sets, especially lattices. It can be viewed as a partial execution of a computer pro ...
, ACM SIGPLAN 2013 PL Achievement Award * James Cordy, known for the TXL source transformation language, a parser-based framework and functional programming language designed to support software analysis and transformation tasks


D

*
Ole-Johan Dahl Ole-Johan Dahl (12 October 1931 – 29 June 2002) was a Norwegian computer scientist. Dahl was a professor of computer science at the University of Oslo and is considered to be one of the fathers of Simula and object-oriented programming along wi ...
, the 2001
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
for ideas fundamental to the emergence of OO programming, through hedesign of the programming languages
Simula Simula is the name of two simulation programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard. Syntactically, it is an approximate superset of AL ...
I and 67 * Olivier Danvy specializes in
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s, partial evaluation, and
continuation In computer science, a continuation is an abstract representation of the control state of a computer program. A continuation implements ( reifies) the program control state, i.e. the continuation is a data structure that represents the computat ...
s * John Darlington, work on program transformation and functional programming, including NPL and
Hope+ Hope is an optimistic state of mind that is based on an expectation of positive outcomes with respect to events and circumstances in one's own life, or the world at large. As a verb, Merriam-Webster defines ''hope'' as "to expect with confid ...
*
L. Peter Deutsch L Peter Deutsch (born Laurence Peter Deutsch on August 7, 1946, in Boston, Massachusetts) is an American computer scientist and composer. He is the founder of Aladdin Enterprises and creator of Ghostscript, a free software PostScript and PDF int ...
, first implementation of
TRAC Trac is an open-source, web-based project management and bug tracking system. It has been adopted by a variety of organizations for use as a bug tracking system for both free and open-source software and proprietary projects and products. Tr ...
(on the
PDP-1 The PDP-1 (Programmed Data Processor-1) is the first computer in Digital Equipment Corporation's PDP series and was first produced in 1959. It is known for being the most important computer in the creation of hacker culture at the Massachusetts ...
), first REPL, PhD thesis on an interactive program verifier, the 1992 ACM Software System Award for the IDE called
Interlisp Interlisp (also seen with a variety of capitalizations) is a programming environment built around a version of the programming language Lisp. Interlisp development began in 1966 at Bolt, Beranek and Newman (renamed BBN Technologies) in Cambridge, ...
*
Edsger W. Dijkstra Edsger Wybe Dijkstra ( ; ; 11 May 1930 – 6 August 2002) was a Dutch computer scientist, programmer, software engineer, mathematician, and science essayist. Born in Rotterdam in the Netherlands, Dijkstra studied mathematics and physics and the ...
, first
ALGOL 60 ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a ...
compiler, weakest preconditions, the 1972
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
for fundamental contributions to developing programming languages *
Damien Doligez Damien Doligez is a French academic and programmer. He is best known for his role as a developer of the OCaml system, especially its garbage collector. He is a research scientist ('' chargé de recherche'') at the French government research inst ...
, co-developer and implementor of
OCaml OCaml ( , formerly Objective Caml) is a General-purpose programming language, general-purpose, High-level programming language, high-level, Comparison of multi-paradigm programming languages, multi-paradigm programming language which extends the ...
, especially its garbage collector * Sophia Drossopoulou, formal methods for
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s, proof of the soundness of
Java Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...


E

* Wim Ebbinkhuijsen, one of the fathers of
COBOL COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural, and, since 2002, object-oriented language. COBOL is primarily ...
, designed and rewrote dozens of parts of the current COBOL standard *
Alan Edelman Alan Stuart Edelman (born June 1963) is an American mathematician and computer scientist. He is a professor of applied mathematics at the Massachusetts Institute of Technology (MIT) and a Principal Investigator at the MIT Computer Science and Ar ...
, the 2019 Sidney Fernbach Award for ... and for contributions to the Julia programming language *
Brendan Eich Brendan Eich ( ; born July 4, 1961) is an American computer programmer and technology executive. He created the JavaScript programming language and co-founded the Mozilla project, the Mozilla Foundation, and the Mozilla Corporation. He serve ...
, designer of
JavaScript JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior. Web browsers have ...
*
Andrey Ershov Andrey Petrovich Yershov (; 19 April 1931, Moscow – 8 December 1988, Moscow) was a Soviet computer scientist, notable as a pioneer in systems programming and programming language research. Donald Knuth considers him to have independently co ...
, see Andrey Yershov


F

* Mahmoud Samir Fayed, creator of PWCT and
Ring (The) Ring(s) may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell Arts, entertainment, and media Film and TV * ''The Ring'' (franchise), a ...
*
Matthias Felleisen Matthias Felleisen is a German-American computer science professor and author. He grew up in Germany and immigrated to the US in his twenties. He received his PhD from Indiana University Bloomington under the direction of Daniel P. Friedman. ...
, ACM SIGPLAN 2018 PL Software Award for Racket, ACM SIGPLAN 2012 PL Achievement Award *
Jeanne Ferrante Jeanne Ferrante (born January 3, 1949) is an American computer scientist active in the field of compiler technology. As a Professor of Computer Science and Engineering at the University of California, San Diego's Jacobs School of Engineering, Ferr ...
, developed the Program dependence graph, ACM SIGPLAN 2006 PL Achievement Award * Robby Findler, thesis on linguistics of software contracts, the ACM SIGPLAN 2018 PL Software Award for Racket, design/implementation of ''Redex'', a workbench for semantics engineers * Keno Fischer, a core member implementing the Julia programming language, * Matthew Flatt, ACM SIGPLAN 2018 PL Software Award for Racket * Robert W. Floyd, the 1978
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
for ..., and for helping to found the following important subfields of computer science: the theory of parsing, the semantics of programming languages, automatic program verification, automatic program synthesis, and analysis of algorithms * Robert France, the 2014 AITO Dahl–Nygaard Prize for his research on adding formal semantics to OO modeling notations * Daniel P. Friedman, influential paper on lazy programming, explored macros for defining programming languages, lead author of '' Essentials of Programming Languages'' * Yoshihiko Futamura, partial evaluation, especially Futamura projections


G

* Richard P. Gabriel, for work on
Lisp Lisp (historically LISP, an abbreviation of "list processing") is a family of programming languages with a long history and a distinctive, fully parenthesized Polish notation#Explanation, prefix notation. Originally specified in the late 1950s, ...
, and especially
Common Lisp Common Lisp (CL) is a dialect of the Lisp programming language, published in American National Standards Institute (ANSI) standard document ''ANSI INCITS 226-1994 (S2018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperli ...
; the 2004 ACM-AAAI Allen Newell Award for innovations in programming languages and software design ... *
Bernard Galler Bernard A. Galler (October 3, 1928 – September 4, 2006) was an American mathematician and computer scientist at the University of Michigan who was involved in the development of large-scale operating systems and computer languages including t ...
, involved in the development of computer languages, including MAD * Erich Gamma, co-wrote the JUnit software testing framework; one of the
Gang of Four The Gang of Four () was a Maoist political faction composed of four Chinese Communist Party (CCP) officials. They came to prominence during the Cultural Revolution (1966–1976) and were later charged with a series of treasonous crimes due to th ...
, the 2006 AITO Dahl–Nygaard Prize, for ... their book '' Design Patterns: ...'', ACM SIGPLAN 2005 PL Achievement Award *
Charles Geschke Charles Matthew "Chuck" Geschke (September 11, 1939 – April 16, 2021) was an American businessman and computer scientist best known for founding the graphics and publishing software company Adobe Inc. with John Warnock in 1982, with whom he ...
, co-author of
The Design of an Optimizing Compiler ''The'' is a grammatical article in English, denoting nouns that are already or about to be mentioned, under discussion, implied or otherwise presumed familiar to listeners, readers, or speakers. It is the definite article in English. ''The ...
, the 1989 ACM Software System Award for
PostScript PostScript (PS) is a page description language and dynamically typed, stack-based programming language. It is most commonly used in the electronic publishing and desktop publishing realm, but as a Turing complete programming language, it c ...
* Jeremy Gibbons,
generic programming Generic programming is a style of computer programming in which algorithms are written in terms of data types ''to-be-specified-later'' that are then ''instantiated'' when needed for specific types provided as parameters. This approach, pioneer ...
and
functional programming In computer science, functional programming is a programming paradigm where programs are constructed by Function application, applying and Function composition (computer science), composing Function (computer science), functions. It is a declarat ...
, member of IFIP Working Group 2.1 on Algorithmic Languages and Calculi, which supports and maintains
ALGOL 60 ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a ...
and
ALGOL 68 ALGOL 68 (short for ''Algorithmic Language 1968'') is an imperative programming language member of the ALGOL family that was conceived as a successor to the ALGOL 60 language, designed with the goal of a much wider scope of application and ...
*
Seymour Ginsburg Seymour Ginsburg (December 12, 1927 – December 5, 2004) was an American pioneer of Automaton, automata theory, formal language theory, and database theory, in particular; and computer science, in general. His work was influential in distingui ...
, fundamental work in
formal languages In logic, mathematics, computer science, and linguistics, a formal language is a set of string (computer science), strings whose symbols are taken from a set called "#Definition, alphabet". The alphabet of a formal language consists of symbol ...
and abstract family of languages * Adele Goldberg, the 1987 ACM Software System Award for
Smalltalk Smalltalk is a purely object oriented programming language (OOP) that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learni ...
* Andrew Gordon, co-designer of
Concurrent Haskell Concurrent Haskell (also Control.Concurrent, or Concurrent and Parallel Haskell) is an extension to the functional programming language Haskell, which adds explicit primitive data types for concurrency. It was first added to Haskell 98, and ...
, co-inventor of the ambient calculus for reasoning about
mobile code In distributed computing, code mobility is the ability for running Computer program, programs, code or objects to be data migration, migrated (or moved) from one machine or application to another. This is the process of moving mobile code across t ...
, designed SecPAL *
James Gosling James Arthur Gosling (born 19 May 1955) is a Canadian computer scientist, best known as the founder and lead designer behind the Java (programming language), Java programming language. Gosling was elected a member of the National Academy of E ...
, the 2002 ACM Software System Award for
Java Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
* Robert Graham, co-authored two compilers, GAT for the
IBM 650 The IBM 650 Magnetic Drum Data-Processing Machine is an early digital computer produced by IBM in the mid-1950s. It was the first mass-produced computer in the world. Almost 2,000 systems were produced, the last in 1962, and it was the firs ...
and MAD *
Susan Graham Susan Graham (born July 23, 1960) is an American mezzo-soprano. Life and career Susan Graham was born in Roswell, New Mexico on July 23, 1960. Raised in Midland, Texas, Graham is a graduate of Texas Tech University and the Manhattan School of ...
, the 2009
IEEE John von Neumann Medal The IEEE John von Neumann Medal was established by the IEEE Board of Directors in 1990 and may be presented annually "for outstanding achievements in computer-related science and technology." The achievements may be theoretical, technological, or ...
for "contributions to PL design and implementation ...", member NAE, ACM SIGPLAN 2000 PL Achievement Award *
Cordell Green Cordell Green (born 1941) was an American computer scientist who was the director and chief scientist of the Kestrel Institute. Green received a B.A. and B.S. from Rice University. At Stanford University, he earned an M.S. and then a PhD in 196 ...
, the 1985 Grace Murray Hopper Award for establishing the theoretical basis of the field of
logic programming Logic programming is a programming, database and knowledge representation paradigm based on formal logic. A logic program is a set of sentences in logical form, representing knowledge about some problem domain. Computation is performed by applyin ...
*
Sheila Greibach Sheila Adele Greibach (born 6 October 1939 in New York City) is an American researcher in formal languages in computing, automata, compiler theory and computer science. She is an Emeritus Professor of Computer Science at the University of Calif ...
, grammar theory, Greibach normal form * David Gries, first text on writing compilers, contributions to semantics of programming language constructs, e.g. Interference freedom and * Robert Griesemer, co-designer of Go *
Ralph Griswold Ralph E. Griswold (May 19, 1934, Modesto, CA – October 4, 2006, Tucson, AZ) was a computer scientist known for his research into high-level programming languages and symbolic computation. His language credits include the string processing la ...
, designer of
SNOBOL SNOBOL ("StriNg Oriented and symBOlic Language") is a series of programming languages developed between 1962 and 1967 at AT&T Bell Laboratories by David J. Farber, Ralph Griswold and Ivan P. Polonsky, culminating in SNOBOL4. It was one of a ...
, SL5, and
Icon An icon () is a religious work of art, most commonly a painting, in the cultures of the Eastern Orthodox, Oriental Orthodox, Catholic Church, Catholic, and Lutheranism, Lutheran churches. The most common subjects include Jesus, Mary, mother of ...
* Jürg Gutknecht, co-developer of the language
Oberon Oberon () is a king of the fairy, fairies in Middle Ages, medieval and Renaissance literature. He is best known as a character in William Shakespeare's play ''A Midsummer Night's Dream'', in which he is King of the Fairies and spouse of Titania ...
, developer of the language
Zonnon Zonnon is a general purpose programming language in the line or family of the preceding languages Pascal, Modula, and Oberon. Jürg Gutknecht is the author. Its conceptual model is based on objects, definitions, implementations, and modules. I ...
* John Guttag, co-developer of the Larch family of formal
specification language A specification language is a formal language in computer science used during systems analysis, requirements analysis, and systems design to describe a system at a much higher level than a programming language, which is used to produce the exec ...
s and the Larch Prover (LP) * Michael Guy, co-author of
ALGOL 68C ALGOL 68C is an imperative computer programming language, a dialect of ALGOL 68, that was developed by Stephen R. Bourne and Michael Guy to program the Cambridge Algebra System (CAMAL). The initial compiler was written in the Princeton Synta ...


H

*
Nico Habermann Arie Nicolaas Habermann (26 June 1932 – 8 August 1993), often known as A.N. Habermann or Nico Habermann, was a Dutch computer scientist. Habermann was born in Groningen, Netherlands, and earned his B.S. in mathematics and physics and M.S. in ...
, co-designer of
BLISS BLISS is a system programming language developed at Carnegie Mellon University (CMU) by W. A. Wulf, D. B. Russell, and A. N. Habermann around 1970. It was perhaps the best known system language until C debuted a few years later. Since then, C ...
* Robert Harper, contributions to
Standard ML Standard ML (SML) is a General-purpose programming language, general-purpose, High-level programming language, high-level, Modular programming, modular, Functional programming, functional programming language with compile-time type checking and t ...
and the LF logical framework, ACM SIGPLAN 2021 PL Achievement Award for foundational contributions to type theory * Eric Hehner, for predicative programming, a formal method for
specification A specification often refers to a set of documented requirements to be satisfied by a material, design, product, or service. A specification is often a type of technical standard. There are different types of technical or engineering specificati ...
and refinement *
Anders Hejlsberg Anders Hejlsberg (; ; born 2 December 1960) is a Denmark, Danish software engineer who co-designed several programming languages and development tools. He was the original author of Turbo Pascal and the chief architect of Delphi (programming lang ...
, original author of
Turbo Pascal Turbo Pascal is a software development system that includes a compiler and an integrated development environment (IDE) for the programming language Pascal (programming language), Pascal running on the operating systems CP/M, CP/M-86, and MS-DOS. ...
, chief architect of C# *
Laurie Hendren Laurie Hendren (December 13, 1958 – May 27, 2019) was a Canadian computer scientist noted for her research in programming languages and compilers, and for her advocacy for patients to have access to their health data in Quebec. Biography ...
, continuous and significant contributions for 30+ years to the field of OO programming languages and compiling * Thomas Henzinger, received the 2015 Milner Award for "fundamental advances in the theory and practice of
formal verification In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of a system with respect to a certain formal specification or property, using formal methods of mathematics. Formal ver ...
and synthesis of reactive, real-time, and hybrid computer systems" *
Maurice Herlihy Maurice Peter Herlihy (born 4 January 1954) is an American computer scientist active in the field of multiprocessor synchronization. Herlihy has contributed to areas including theoretical foundations of wait-free synchronization, linearizable da ...
, 2003, 2012, and 2022 Dijkstra Prizes, one for work on
transactional memory In computer science and computer engineering, engineering, transactional memory attempts to simplify concurrent programming by allowing a group of load and store instructions to execute in an linearizability, atomic way. It is a concurrency control ...
* Rich Hickey, designer of
Clojure Clojure (, like ''closure'') is a dynamic programming language, dynamic and functional programming, functional dialect (computing), dialect of the programming language Lisp (programming language), Lisp on the Java (software platform), Java platfo ...
*
Tony Hoare Sir Charles Antony Richard Hoare (; born 11 January 1934), also known as C. A. R. Hoare, is a British computer scientist who has made foundational contributions to programming languages, algorithms, operating systems, formal verification, and ...
, first axiomatic basis for proving programs correct, CSP, the 1980
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
for fundamental contributions to the definition and design of programming languages * Ric Holt, the Turing programming language, contributions to Grok,
Euclid Euclid (; ; BC) was an ancient Greek mathematician active as a geometer and logician. Considered the "father of geometry", he is chiefly known for the '' Elements'' treatise, which established the foundations of geometry that largely domina ...
, SP/k, and S/SL * Urs Hölzle, co-implemented Strongtalk, a
Smalltalk Smalltalk is a purely object oriented programming language (OOP) that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learni ...
environment with optional
static typing In computer programming, a type system is a logical system comprising a set of rules that assigns a property called a ''type'' (for example, integer, floating point, string) to every '' term'' (a word, phrase, or other set of symbols). Usu ...
support, later became Googles first Vice President of Engineering *
Grace Hopper Grace Brewster Hopper (; December 9, 1906 – January 1, 1992) was an American computer scientist, mathematician, and United States Navy rear admiral. She was a pioneer of computer programming. Hopper was the first to devise the theory of mach ...
, co-designer of
COBOL COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural, and, since 2002, object-oriented language. COBOL is primarily ...
* Jim Horning, interests included
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s, programming methodology,
specification A specification often refers to a set of documented requirements to be satisfied by a material, design, product, or service. A specification is often a type of technical standard. There are different types of technical or engineering specificati ...
; co-developer of the
Larch Larches are deciduous conifers in the genus ''Larix'', of the family Pinaceae (subfamily Laricoideae). Growing from tall, they are native to the cooler regions of the northern hemisphere, where they are found in lowland forests in the high la ...
approach to
formal specification In computer science, formal specifications are mathematically based techniques whose purpose is to help with the implementation of systems and software. They are used to describe a system, to analyze its behavior, and to aid in its design by verify ...
* Susan B. Horwitz, noted for research on
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s and
software engineering Software engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining Application software, software applications. It involves applying engineering design process, engineering principl ...
, and in particular on program slicing and dataflow-analysis * Paul Hudak, known for involvement in designing the language
Haskell Haskell () is a general-purpose, statically typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research, and industrial applications, Haskell pioneered several programming language ...
, and for several textbooks on it and computer music *
Gérard Huet Gérard Pierre Huet (; born 7 July 1947) is a French computer scientist, linguist and mathematician. He is senior research director at INRIA and mostly known for his major and seminal contributions to type theory, programming language theory and ...
, ACM SIGPLAN 2013 PL Software Award and the 2015 ACM Software System Award for the
Coq Coenzyme Q10 (CoQ10 ), also known as ubiquinone, is a naturally occurring biochemical cofactor (coenzyme) and an antioxidant produced by the human body. It can also be obtained from dietary sources, such as meat, fish, seed oils, vegetables, ...
proof assistant * John Hughes, PhD thesis ''The Design and Implementation of Programming Languages''., co-developer of the
QuickCheck QuickCheck is a software library, a combinator library, originally written in the programming language Haskell, designed to assist in software testing by generating test cases for test suites – an approach known as property testing. Softwar ...
software library, 2018 ACM Fellow for contributions to software testing and functional programming * Roger Hui, co-developed the language J


I

* Jean Ichbiah, designer the system implementation
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
called
LIS LIS or LiS may refer to: Computing * LIS (programming language) * Lis (linear algebra library), library of iterative solvers for linear systems * Laboratory information system, databases oriented towards medical laboratories * Land information sys ...
, initial chief designer of Ada * Roberto Ierusalimschy, designer of Lua *
Dan Ingalls Daniel Henry Holmes Ingalls Jr. (born 1944) is a pioneer of object-oriented computer programming and the principal architect, designer and implementer of five generations of Smalltalk environments. He designed the bytecoded virtual machine that m ...
, the 2022 AITO Dahl–Nygaard Prize and the 1987 ACM Software System Award for
Smalltalk Smalltalk is a purely object oriented programming language (OOP) that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learni ...
* Kenneth E. Iverson, the 1979
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
for his pioneering effort in ... resulting in ... APL, for his contributions to ..., ..., and programming language theory and practice


J

* Daniel Jackson, principal designer of the
Alloy An alloy is a mixture of chemical elements of which in most cases at least one is a metal, metallic element, although it is also sometimes used for mixtures of elements; herein only metallic alloys are described. Metallic alloys often have prop ...
modelling language and its associated Alloy Analyzer analysis tool, author of the book ''Software Abstractions: Logic, Language, and Analysis'' * Jørn Jensen, developed
ALGOL 60 ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a ...
compilers, invented Jensen's device, which exploits
call by name In a programming language, an evaluation strategy is a set of rules for evaluating expressions. The term is often used to refer to the more specific notion of a ''parameter-passing strategy'' that defines the kind of value that is passed to the ...
* Ralph Johnson, one of the
Gang of Four The Gang of Four () was a Maoist political faction composed of four Chinese Communist Party (CCP) officials. They came to prominence during the Cultural Revolution (1966–1976) and were later charged with a series of treasonous crimes due to th ...
, the 2006 AITO Dahl–Nygaard Prize for ... their book '' Design Patterns: ...'', ACM SIGPLAN 2005 PL Achievement Award * Cliff Jones, the Vienna Development Method (VDM), rely-guarantee—compositional interference freedom * Neil D. Jones, work on partial evaluation, ACM SIGPLAN 2014 PL Achievement Award *
Simon Peyton Jones Simon Peyton Jones (born 18 January 1958) is a British computer scientist who researches the implementation and applications of functional programming languages, particularly lazy functional programming. Education Peyton Jones graduated fro ...
, for work in
functional programming In computer science, functional programming is a programming paradigm where programs are constructed by Function application, applying and Function composition (computer science), composing Function (computer science), functions. It is a declarat ...
languages and
lazy evaluation In programming language theory, lazy evaluation, or call-by-need, is an evaluation strategy which delays the evaluation of an Expression (computer science), expression until its value is needed (non-strict evaluation) and which avoids repeated eva ...
; codesigner of
Haskell Haskell () is a general-purpose, statically typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research, and industrial applications, Haskell pioneered several programming language ...
; 2011 Programming Languages Software Award for the
Glasgow Haskell Compiler The Glasgow Haskell Compiler (GHC) is a native or machine code compiler for the functional programming language Haskell. It provides a cross-platform software environment for writing and testing Haskell code and supports many extensions, libra ...
(GHC)


K

*
Gilles Kahn Gilles Kahn (17 April 1946 – 9 February 2006) was a French computer scientist. He notably introduced Kahn process networks as a model for parallel processing and natural semantics for describing the operational semantics of programming la ...
, coroutines and networks of processes *
Ted Kaehler Ted Kaehler (born 1950) is an American computer scientist known for his role in the development of several System software, system Method (computer programming), methods. He is most noted for his contributions to the programming languages Smallta ...
, co-implementer of
Smalltalk Smalltalk is a purely object oriented programming language (OOP) that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learni ...
*
Ronald Kaplan Ronald M. Kaplan (born 1946) has served as a vice president at Amazon.com and chief scientist for Amazon Search ( A9.com). He was previously vice president and distinguished scientist at Nuance Communications and director of Nuance' Natural La ...
, the 1992 ACM Software System Award for the IDE called
Interlisp Interlisp (also seen with a variety of capitalizations) is a programming environment built around a version of the programming language Lisp. Interlisp development began in 1966 at Bolt, Beranek and Newman (renamed BBN Technologies) in Cambridge, ...
*
Stefan Karpinski Stefan Karpinski is an American computer scientist known for being a co-creator of the Julia (programming language), Julia programming language. He is an alumnus of Harvard and works at Julia Computing, which he co-founded with Julia co-creators ...
, the 2019 J. H. Wilkinson Prize for Numerical Software for the co-development of the Julia programming language *
Alan Kay Alan Curtis Kay (born May 17, 1940) published by the Association for Computing Machinery 2012 is an American computer scientist who pioneered work on object-oriented programming and windowing graphical user interface (GUI) design. At Xerox ...
, the 2003
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
for pioneering many of the ideas at the root of contemporary OO programming languages, leading the team that developed
Smalltalk Smalltalk is a purely object oriented programming language (OOP) that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learni ...
, and ... * John Kelly, co-developed the pioneer dataflow language BLODI (BLOck DIagram). See
Dataflow programming In computer programming, dataflow programming is a programming paradigm that models a program as a directed graph of the data flowing between operations, thus implementing dataflow principles and architecture. Dataflow programming languages share ...
* John G. Kemeny, co-designer and developer the first
BASIC Basic or BASIC may refer to: Science and technology * BASIC, a computer programming language * Basic (chemistry), having the properties of a base * Basic access authentication, in HTTP Entertainment * Basic (film), ''Basic'' (film), a 2003 film ...
language * Ken Kennedy, the McDowell Award for contributions to compiler optimization and ..., ACM SIGPLAN 1999 PL Achievement Award *
Brian Kernighan Brian Wilson Kernighan (; born January 30, 1942) is a Canadian computer scientist. He worked at Bell Labs and contributed to the development of Unix alongside Unix creators Ken Thompson and Dennis Ritchie. Kernighan's name became widely known ...
, co-designer of AWK and
AMPL AMPL (A Mathematical Programming Language) is an algebraic modeling language to describe and solve high-complexity problems for large-scale mathematical computing (e.g. large-scale optimization and scheduling-type problems). It was developed ...
, co-author of "The C Programming Language", promoter and designer of "little languages": Eqn, Pic,
Grap GRB2-related adapter protein is a protein that in humans is encoded by the ''GRAP'' gene. This gene encodes a member of the GRB2/Sem5 ('' C. elegans'' homolog)/Drk (''Drosophila'' homolog) family. This member functions as a cytoplasmic signaling ...
* Gregor Kiczales, the 2012 AITO Dahl–Nygaard Prize, for his work on CLOS and the MOP and for spearheading aspect-orientation and
AspectJ AspectJ is an aspect-oriented programming (AOP) extension for the Java programming language, created at PARC. It is available in Eclipse Foundation open-source projects, both stand-alone and integrated into Eclipse. AspectJ has become a widely ...
*
Ken Knowlton Kenneth Charles Knowlton (June 6, 1931 – June 16, 2022) was an American computer graphics pioneer, artist, mosaicist and portraitist. In 1963, while working at Bell Labs, he developed the BEFLIX programming language for creating bitmap compu ...
. computer graphics pioneer, created BEFLIX for making movies and L6, which introduced postfix field selection to list processing *
Donald Knuth Donald Ervin Knuth ( ; born January 10, 1938) is an American computer scientist and mathematician. He is a professor emeritus at Stanford University. He is the 1974 recipient of the ACM Turing Award, informally considered the Nobel Prize of comp ...
, the 1974
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
for his major contributions to ... and the design of programming languages, and ... * Andrew Koenig, author of C Traps and Pitfalls and the Koenig lookup *
Michael Kölling Michael Kölling is a German computer scientist, currently working at King's College London, best known for the development of the BlueJ and Greenfoot educational development environments and as author of introductory programming textbooks. In 2 ...
, development of BlueJ and
Greenfoot Greenfoot is an integrated development environment using Java (programming language), Java or Stride designed primarily for educational purposes at the Secondary school, high school and Undergraduate education, undergraduate level. It allows easy ...
* Kees Koster, co-designer of
ALGOL 68 ALGOL 68 (short for ''Algorithmic Language 1968'') is an imperative programming language member of the ALGOL family that was conceived as a successor to the ALGOL 60 language, designed with the goal of a much wider scope of application and ...
, creator of affix grammars, creator of the original Compiler Description Language (CDL) * Robert Kowalski, the 2011 IJCAI Award for Research Excellence for ... pioneering work on ...
logic programming Logic programming is a programming, database and knowledge representation paradigm based on formal logic. A logic program is a set of sentences in logical form, representing knowledge about some problem domain. Computation is performed by applyin ...
; introduced
SLD resolution SLD resolution (''Selective Linear Definite'' clause resolution) is the basic rule of inference, inference rule used in logic programming. It is a refinement of Resolution (logic), resolution, which is both Soundness, sound and refutation Completen ...
, which is used in the implementation of the logic programming language
Prolog Prolog is a logic programming language that has its origins in artificial intelligence, automated theorem proving, and computational linguistics. Prolog has its roots in first-order logic, a formal logic. Unlike many other programming language ...
*
Dexter Kozen Dexter Campbell Kozen (born December 20, 1951) is an American theoretical computer scientist. He is Professor Emeritus and Joseph Newton Pew, Jr. Professor in Engineering at Cornell University. Career Kozen received his BA in mathematics from ...
, one of the fathers of dynamic logic, an extension of
modal logic Modal logic is a kind of logic used to represent statements about Modality (natural language), necessity and possibility. In philosophy and related fields it is used as a tool for understanding concepts such as knowledge, obligation, and causality ...
capable of encoding properties of
computer program A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. It is one component of software, which also includes software documentation, documentation and other intangibl ...
s * Shriram Krishnamurthi, developed Flapjax, ACM SIGPLAN 2018 PL Software Award for Racket, the 2012 ACM
SIGPLAN SIGPLAN is the Association for Computing Machinery's Special Interest Group (SIG) on programming languages. This SIG explores programming language concepts and tools, focusing on design, implementation, practice, and theory. Its members are progra ...
Robin Milner Young Researcher Award * David Kuck, the IEEE Computer Society 2011
Computer Pioneer Award The Computer Pioneer Award was established in 1981 by the Board of Governors of the IEEE Computer Society to recognize and honor the vision of those people whose efforts resulted in the creation and continued vitality of the computer industry. ...
for revolutionary parallel compiler technology including Parafrase (in 1977) and KAP Tools *
Thomas E. Kurtz Thomas Eugene Kurtz (February 22, 1928 – November 12, 2024) was an American computer scientist and educator. A Dartmouth professor of mathematics, he and colleague John G. Kemeny are best known for co-developing the BASIC programming languag ...
, co-designer and developer the first
BASIC Basic or BASIC may refer to: Science and technology * BASIC, a computer programming language * Basic (chemistry), having the properties of a base * Basic access authentication, in HTTP Entertainment * Basic (film), ''Basic'' (film), a 2003 film ...
language


L

* Monica S. Lam, contributed to a wide range of topics including
compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
s and
program analysis In computer science, program analysis is the process of analyzing the behavior of computer programs regarding a property such as correctness, robustness, safety and liveness. Program analysis focuses on two major areas: program optimization an ...
, received the ACM Most Influential PLDI Paper Award in 2001 * Leslie Lamport, creator of the formal specification language
TLA+ TLA+ is a formal specification language developed by Leslie Lamport. It is used for designing, modelling, documentation, and verification of programs, especially concurrent systems and distributed systems. TLA+ is considered to be exhaustively-te ...
and much more, the 2013
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
*
Peter Landin Peter John Landin (5 June 1930 – 3 June 2009) was a British computer scientist. He was one of the first to realise that the lambda calculus could be used to model a programming language, an insight that is essential to the development of both ...
used the
lambda calculus In mathematical logic, the lambda calculus (also written as ''λ''-calculus) is a formal system for expressing computability, computation based on function Abstraction (computer science), abstraction and function application, application using var ...
to model
ISWIM ISWIM (If You See What I Mean) is an abstract computer programming language (or a family of languages) devised by Peter Landin and first described in his article "The Next 700 Programming Languages", published in the ''Communications of the ACM ...
, in doing so defined the
off-side rule The off-side rule describes syntax of a computer programming language that defines the bounds of a code block via indentation. The term was coined by Peter Landin, possibly as a pun on the offside law in association football. An off-side ...
and coined the term
syntactic sugar In computer science, syntactic sugar is syntax within a programming language that is designed to make things easier to read or to express. It makes the language "sweeter" for human use: things can be expressed more clearly, more concisely, or in an ...
; active in defining
ALGOL ALGOL (; short for "Algorithmic Language") is a family of imperative computer programming languages originally developed in 1958. ALGOL heavily influenced many other languages and was the standard method for algorithm description used by the ...
* Richard H. Lathwell, the 1973
Grace Murray Hopper Award The Grace Murray Hopper Award (named for computer pioneer RADM Grace Hopper) has been awarded by the Association for Computing Machinery (ACM) since 1971. The award goes to a computer professional who makes a single, significant technical or serv ...
for the design and implementation of APL\360 *
Chris Lattner Christopher Arthur Lattner (born 1978) is an American software engineer and creator of LLVM, the Clang compiler, the Swift (programming language), Swift programming language and the MLIR (software), MLIR compiler infrastructure. After his PhD ...
, designer of
Swift Swift or SWIFT most commonly refers to: * SWIFT, an international organization facilitating transactions between banks ** SWIFT code * Swift (programming language) * Swift (bird), a family of birds It may also refer to: Organizations * SWIF ...
, ACM SIGPLAN 2010 PL Software Award and the 2012 ACM Software System Award for
LLVM LLVM, also called LLVM Core, is a target-independent optimizer and code generator. It can be used to develop a Compiler#Front end, frontend for any programming language and a Compiler#Back end, backend for any instruction set architecture. LLVM i ...
, a set of
compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
and
toolchain A toolchain is a set of software development tools used to build and otherwise develop software. Often, the tools are executed sequentially and form a pipeline such that the output of one tool is the input for the next. Sometimes the term is us ...
technologies * John Launchbury, lazy functional languages, contributing designer of
Haskell Haskell () is a general-purpose, statically typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research, and industrial applications, Haskell pioneered several programming language ...
, directed development of the
domain-specific language A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging ...
named Cryptol * Harold Lawson, the IEEE Computer Society 2000
Computer Pioneer Award The Computer Pioneer Award was established in 1981 by the Board of Governors of the IEEE Computer Society to recognize and honor the vision of those people whose efforts resulted in the creation and continued vitality of the computer industry. ...
for inventing the pointer variable and introducing this concept into
PL/I PL/I (Programming Language One, pronounced and sometimes written PL/1) is a procedural, imperative computer programming language initially developed by IBM. It is designed for scientific, engineering, business and system programming. It has b ...
* Doug Lea, the 2010 AITO Dahl–Nygaard Prize, for tireless advocacy of object-oriented techniques, contributions to concurrent programming in Java, and ... * Peter Lee, PhD thesis: ''The automatic generation of realistic compilers from high-level semantic descriptions''; as of 2022, Microsoft Corporate Vice President, Research and Incubations *
Rasmus Lerdorf Rasmus Lerdorf (; born 22 November 1968) is a Danish-Canadian programmer. He co-authored and inspired the PHP scripting language, authoring the first two versions of the language and participating in the development of later versions led by a g ...
, father of
PHP PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. ...
* Xavier Leroy, the 2016 Milner Award for exceptional achievements in programming including
OCaml OCaml ( , formerly Objective Caml) is a General-purpose programming language, general-purpose, High-level programming language, high-level, Comparison of multi-paradigm programming languages, multi-paradigm programming language which extends the ...
, ACM SIGPLAN 2021 PL Software Award * Charles H. Lindsey, co-editor of the Revised Report on
Algol 68 ALGOL 68 (short for ''Algorithmic Language 1968'') is an imperative programming language member of the ALGOL family that was conceived as a successor to the ALGOL 60 language, designed with the goal of a much wider scope of application and ...
, designed an implemented ALGOL 68S, a subset of Algol 68, wrote the complete History of ALGOL 68 in *
Barbara Liskov Barbara Liskov (born November 7, 1939, as Barbara Jane Huberman) is an American computer scientist who has made pioneering contributions to programming languages and distributed computing. Her notable work includes the introduction of abstract da ...
, the 2008
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
for contributions to practical and theoretical foundations of programming language and system design, ... * Yanhong Annie Liu, PhD thesis on incremental computation, book on systematic program design * Peter Lucas, formal definition of
PL/I PL/I (Programming Language One, pronounced and sometimes written PL/1) is a procedural, imperative computer programming language initially developed by IBM. It is designed for scientific, engineering, business and system programming. It has b ...
, the Vienna Development Method (VDM), work on the
functional programming In computer science, functional programming is a programming paradigm where programs are constructed by Function application, applying and Function composition (computer science), composing Function (computer science), functions. It is a declarat ...
language FL * David Luckham, contributions to
Lisp Lisp (historically LISP, an abbreviation of "list processing") is a family of programming languages with a long history and a distinctive, fully parenthesized Polish notation#Explanation, prefix notation. Originally specified in the late 1950s, ...
and verification of Pascal; cofounder of the Ada compiler


M

* Simon Marlow, ACM SIGPLAN 2011 PL Software Award for the
Glasgow Haskell Compiler The Glasgow Haskell Compiler (GHC) is a native or machine code compiler for the functional programming language Haskell. It provides a cross-platform software environment for writing and testing Haskell code and supports many extensions, libra ...
* Larry Masinter, the 1992 ACM Software System Award for the IDE named
Interlisp Interlisp (also seen with a variety of capitalizations) is a programming environment built around a version of the programming language Lisp. Interlisp development began in 1966 at Bolt, Beranek and Newman (renamed BBN Technologies) in Cambridge, ...
* Yukihiro Matsumoto, designer of
Ruby Ruby is a pinkish-red-to-blood-red-colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapph ...
* David May, lead designer of occam * Conor McBride, researches
type theory In mathematics and theoretical computer science, a type theory is the formal presentation of a specific type system. Type theory is the academic study of type systems. Some type theories serve as alternatives to set theory as a foundation of ...
,
functional programming In computer science, functional programming is a programming paradigm where programs are constructed by Function application, applying and Function composition (computer science), composing Function (computer science), functions. It is a declarat ...
; with James McKinna, cocreated
Epigram (programming language) Epigram is a functional programming language with dependent types, and the integrated development environment (IDE) usually packaged with the language. Epigram's type system is strong enough to express program specifications. The goal is to supp ...
; member IFIP Working Group 2.1 on Algorithmic Languages and Calculi * John McCarthy, the Lisp family of programming languages, the 1971
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
*
Douglas McIlroy Malcolm Douglas McIlroy (born 1932) is an American mathematician, engineer, and programmer. As of 2019 he is an Adjunct Professor of Computer Science at Dartmouth College. McIlroy is best known for having originally proposed Unix pipelines and de ...
, pioneering researcher of macro processors and programming language
extensibility Extensibility is a software engineering and systems design principle that provides for future growth. Extensibility is a measure of the ability to extend a system and the level of effort required to implement the extension. Extensions can be t ...
, contributed to designing
PL/I PL/I (Programming Language One, pronounced and sometimes written PL/1) is a procedural, imperative computer programming language initially developed by IBM. It is designed for scientific, engineering, business and system programming. It has b ...
,
SNOBOL SNOBOL ("StriNg Oriented and symBOlic Language") is a series of programming languages developed between 1962 and 1967 at AT&T Bell Laboratories by David J. Farber, Ralph Griswold and Ivan P. Polonsky, culminating in SNOBOL4. It was one of a ...
, ALTRAN, TMG, C++ * Kathryn S. McKinley, research on
compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
s, runtime systems, and computer architecture, introduced the Hoard C/C++ Memory Allocator, the ACM SIGPLAN 2012 PL Software Award for Jikes RVM * Lambert Meertens, co-designer of ABC, the incidental predecessor of Python; co-designer of the Bird–Meertens formalism; co-editor of the Revised
ALGOL 68 ALGOL 68 (short for ''Algorithmic Language 1968'') is an imperative programming language member of the ALGOL family that was conceived as a successor to the ALGOL 60 language, designed with the goal of a much wider scope of application and ...
Report * Erik Meijer, works on
functional programming In computer science, functional programming is a programming paradigm where programs are constructed by Function application, applying and Function composition (computer science), composing Function (computer science), functions. It is a declarat ...
(particularly
Haskell Haskell () is a general-purpose, statically typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research, and industrial applications, Haskell pioneered several programming language ...
),
compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
implementation,
parsing Parsing, syntax analysis, or syntactic analysis is a process of analyzing a String (computer science), string of Symbol (formal), symbols, either in natural language, computer languages or data structures, conforming to the rules of a formal gramm ...
, and
programming language design Programming languages are typically created by designing a form of representation of a computer program, and writing an implementation for the developed concept, usually an interpreter or compiler. Interpreters are designed to read programs, usu ...
*
Bertrand Meyer Bertrand Meyer (; ; born 21 November 1950) is a French academic, author, and consultant in the field of computer languages. He created the Eiffel programming language and the concept of design by contract. Education and academic career Meyer ...
, created Eiffel and advocated
design by contract Design by contract (DbC), also known as contract programming, programming by contract and design-by-contract programming, is an approach for designing software. It prescribes that software designers should define formal, precise and verifiable ...
, awarded the 2005 AITO Dahl–Nygaard Prize *
Harlan Mills Harlan D. Mills (May 14, 1919 – January 8, 1996) was professor of computer science at the Florida Institute of Technology and founder of Software Engineering Technology, Inc. of Vero Beach, Florida (since acquired by Q-Labs). Mills' cont ...
, the IEEE Computer Society 1994
Computer Pioneer Award The Computer Pioneer Award was established in 1981 by the Board of Governors of the IEEE Computer Society to recognize and honor the vision of those people whose efforts resulted in the creation and continued vitality of the computer industry. ...
for
structured programming Structured programming is a programming paradigm aimed at improving the clarity, quality, and development time of a computer program by making specific disciplined use of the structured control flow constructs of selection ( if/then/else) and repet ...
*
Robin Milner Arthur John Robin Gorell Milner (13 January 1934 – 20 March 2010) was a British computer scientist, and a Turing Award winner.Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
for three distinct and complete achievements: (1)...; (2) ML, the first language to include polymorphic type inference together with a type-safe exception-handling mechanism; (3) CCS, ... *
Jayadev Misra Jayadev Misra is an Indian-born computer scientist who has spent most of his professional career in the United States. He is the Schlumberger Centennial Chair Emeritus in computer science and a University Distinguished Teaching Professor Emeritus ...
, contributions to concurrent programming, including the languages UNITY and * James G. Mitchell, work on the WATFOR compiler, languages
Mesa A mesa is an isolated, flat-topped elevation, ridge, or hill, bounded from all sides by steep escarpments and standing distinctly above a surrounding plain. Mesas consist of flat-lying soft sedimentary rocks, such as shales, capped by a ...
and
Euclid Euclid (; ; BC) was an ancient Greek mathematician active as a geometer and logician. Considered the "father of geometry", he is chiefly known for the '' Elements'' treatise, which established the foundations of geometry that largely domina ...
, PhD thesis on ''The design and construction of flexible and efficient interactive programming systems'' * John C. Mitchell explored the connection between existential types and
abstract data type In computer science, an abstract data type (ADT) is a mathematical model for data types, defined by its behavior (semantics) from the point of view of a '' user'' of the data, specifically in terms of possible values, possible operations on data ...
s and played a pivotal role in developing type theory as a foundation for programming languages * Arvind Mithal, for parallel languages ''Id'' and ''pH'', compiling on parallel machines, and language
Bluespec Bluespec, Inc. is an American semiconductor device electronic design automation company based in Framingham, Massachusetts, and co-founded in June 2003 by computer scientists Arvind Mithal, professor of the Massachusetts Institute of Technology (M ...
SystemVerilog (BSV) * Calvin Mooers, the language
TRAC Trac is an open-source, web-based project management and bug tracking system. It has been adopted by a variety of organizations for use as a bug tracking system for both free and open-source software and proprietary projects and products. Tr ...
* Charles H. Moore (Chuck), the language Forth * Roger D. Moore, implemented
ALGOL 60 ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a ...
, the 1973
Grace Murray Hopper Award The Grace Murray Hopper Award (named for computer pioneer RADM Grace Hopper) has been awarded by the Association for Computing Machinery (ACM) since 1971. The award goes to a computer professional who makes a single, significant technical or serv ...
for the design and implementation APL\360 * Carroll Morgan, known proponent of the refinement calculus approach to program development; authored the book
Programming from Specifications
' * James H. Morris developed two underlying principles of programming languages, inter-module protection and
lazy evaluation In programming language theory, lazy evaluation, or call-by-need, is an evaluation strategy which delays the evaluation of an Expression (computer science), expression until its value is needed (non-strict evaluation) and which avoids repeated eva ...
, and led the Cedar programming environment project * Greg Morrisett, worked on
type system In computer programming, a type system is a logical system comprising a set of rules that assigns a property called a ''type'' (for example, integer, floating point, string) to every '' term'' (a word, phrase, or other set of symbols). Usu ...
s and
proof-carrying code Proof-carrying code (PCC) is a software mechanism that allows a host system to verify properties about an application via a formal proof that accompanies the application's executable code. The host system can quickly verify the validity of the pro ...
and
provably secure Provable security refers to any type or level of computer security that can be proved. It is used in different ways by different fields. Usually, this refers to mathematical proofs, which are common in cryptography. In such a proof, the capabilit ...
systems, created
Cyclone In meteorology, a cyclone () is a large air mass that rotates around a strong center of low atmospheric pressure, counterclockwise in the Northern Hemisphere and clockwise in the Southern Hemisphere as viewed from above (opposite to an ant ...
, POPL 1998 Most Influential Paper Award for applying type system ideas to low level programming * J. Eliot B. Moss, active in the fields of
garbage collection Waste collection is a part of the process of waste management. It is the transfer of solid waste from the point of use and disposal to the point of treatment or landfill. Waste collection also includes the curbside collection of recyclable ...
and
multiprocessor Multiprocessing (MP) is the use of two or more central processing units (CPUs) within a single computer system. The term also refers to the ability of a system to support more than one processor or the ability to allocate tasks between them. The ...
synchronization Synchronization is the coordination of events to operate a system in unison. For example, the Conductor (music), conductor of an orchestra keeps the orchestra synchronized or ''in time''. Systems that operate with all parts in synchrony are sa ...
, co-inventor of
transactional memory In computer science and computer engineering, engineering, transactional memory attempts to simplify concurrent programming by allowing a group of load and store instructions to execute in an linearizability, atomic way. It is a concurrency control ...
* Alan Mycroft, research in programming languages, co-created the Norcroft C compiler * Brad A. Myers, for the Natural Programming project, focusing on programming languages programming languages and making programming easier and more correct by making it more natural.


N

*
Peter Naur Peter Naur (25 October 1928 – 3 January 2016) was a Danish computer science pioneer and 2005 Turing Award winner. He is best remembered as a contributor, with John Backus, to the Backus–Naur form (BNF) notation used in describing the syntax ...
, the 2005
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
for fundamental contributions to programming language design and the definition of
ALGOL 60 ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a ...
, to compiler design, and to ... * George Necula, POPL 1997 and 2002 Most Influential Paper Award for
proof-carrying code Proof-carrying code (PCC) is a software mechanism that allows a host system to verify properties about an application via a formal proof that accompanies the application's executable code. The host system can quickly verify the validity of the pro ...
and type-safe retrofitting of legacy code * Bruce Nelson, the 1994 ACM Software System Award for the
remote procedure call In distributed computing, a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in a different address space (commonly on another computer on a shared computer network), which is written as if it were a ...
concept * Greg Nelson, PhD thesis ''Techniques for Program Verification'', co-designer of
Modula-3 Modula-3 is a programming language conceived as a successor to an upgraded version of Modula-2 known as Modula-2+. It has been influential in research circles (influencing the designs of languages such as Java, C#, Python and Nim), but it ha ...
, the 2013 Herbrand Award for pioneering contributions to theorem proving and program verification ... * Oscar Nierstrasz, the 2013 AITO Dahl–Nygaard Prize for ... contributions ... aimed at making systems more flexible with respect to changing requirements, based on programming languages and mechanisms supporting software evolution * Maurice Nivat, research in
formal languages In logic, mathematics, computer science, and linguistics, a formal language is a set of string (computer science), strings whose symbols are taken from a set called "#Definition, alphabet". The alphabet of a formal language consists of symbol ...
and
programming language semantics In programming language theory, semantics is the rigorous mathematical study of the meaning of programming languages. Semantics assigns computational meaning to valid strings in a programming language syntax. It is closely related to, and ofte ...
; received the 2002 EATCS award * James Noble, the 2016 AITO Dahl–Nygaard Prize for a world-leading reputation for work on object-orientation; did pioneering work in novel type systems for programming languages *
Kristen Nygaard Kristen Nygaard (27 August 1926 – 10 August 2002) was a Norwegian computer scientist, programming language pioneer, and politician. Internationally, Nygaard is acknowledged as the co-inventor of object-oriented programming and the programming ...
, the 2001
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
for ideas fundamental to the emergence of OO programming, through hedesign of
Simula Simula is the name of two simulation programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard. Syntactically, it is an approximate superset of AL ...
I and 67


O

* Martin Odersky, provided basis for
javac javac (pronounced "java-see") is the primary Java compiler included in the Java Development Kit (JDK) from Oracle Corporation. Martin Odersky implemented the GJ compiler, and his implementation became the basis for javac. The compiler accepts ...
, co-developed
Generics in Java Generics are a facility of generic programming that were added to the Java programming language in 2004 within version J2SE 5.0. They were designed to extend Java's type system to allow "a type or method to operate on objects of various types whil ...
, ACM SIGPLAN 2019 PL Software Award for Scala * Peter O'Hearn, known for
separation logic In computer science, separation logic is an extension of Hoare logic, a way of reasoning about programs. It was developed by John C. Reynolds, Peter O'Hearn, Samin Ishtiaq and Hongseok Yang, drawing upon early work by Rod Burstall. The assertio ...
, co-developed the
static program analysis In computer science, static program analysis (also known as static analysis or static simulation) is the analysis of computer programs performed without executing them, in contrast with dynamic program analysis, which is performed on programs duri ...
utility Infer Static Analyzer, 2001 Most Influential Paper Award *
John Ousterhout John Kenneth Ousterhout (, born October 15, 1954) is an American computer scientist. He is a professor of computer science at Stanford University. He founded Electric Cloud with John Graham-Cumming. Ousterhout was previously a professor of com ...
, the 1997 ACM Software System Award for
Tcl TCL or Tcl or TCLs may refer to: Business * TCL Technology, a Chinese consumer electronics and appliance company ** TCL Electronics, a subsidiary of TCL Technology * Texas Collegiate League, a collegiate baseball league * Trade Centre Limited ...
/ Tk * Susan Owicki, contributions to semantics, e.g. Interference freedom and


P

* Krishna Palem, the 2008 McDowell Award, for pioneering contributions to the algorithmic, compilation, and architectural foundations of embedded computing * David Park, worked on the first implementation of
Lisp Lisp (historically LISP, an abbreviation of "list processing") is a family of programming languages with a long history and a distinctive, fully parenthesized Polish notation#Explanation, prefix notation. Originally specified in the late 1950s, ...
, an authority on the topics of fairness, program schemas and
bisimulation In theoretical computer science a bisimulation is a binary relation between state transition systems, associating systems that behave in the same way in that one system simulates the other and vice versa. Intuitively two systems are bisimilar if ...
in
concurrent computing Concurrent computing is a form of computing in which several computations are executed '' concurrently''—during overlapping time periods—instead of ''sequentially—''with one completing before the next starts. This is a property of a syst ...
*
David Parnas David Lorge Parnas (born February 10, 1941) is a Canadian early pioneer of software engineering, who developed the concept of information hiding in modular programming, which is an important element of object-oriented programming today. He is al ...
, developed
information hiding In computer science, information hiding is the principle of segregation of the ''design decisions'' in a computer program that are most likely to change, thus protecting other parts of the program from extensive modification if the design decisio ...
, an important element of OO programming today. * Christine Paulin-Mohring, ACM SIGPLAN 2013 PL Software Award and the 2015 ACM Software System Award for
Coq Coenzyme Q10 (CoQ10 ), also known as ubiquinone, is a naturally occurring biochemical cofactor (coenzyme) and an antioxidant produced by the human body. It can also be obtained from dietary sources, such as meat, fish, seed oils, vegetables, ...
* Manfred Paul, Thesis: On the Structure of Formal Languages (1962, German); co-developer of Alcor-Illinois
ALGOL 60 ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a ...
compiler *
Lawrence Paulson Lawrence Charles Paulson is an American computer scientist. He is a Professor of Computational Logic at the University of Cambridge Computer Laboratory and a Fellow of Clare College, Cambridge. Education Paulson graduated from the California ...
, known for the text '' ML for the Working Programmer'' and the interactive theorem prover
Isabelle Isabel is a female name of Iberian origin. Isabelle is a name that is similar, but it is of French origin. It originates as the medieval Spanish form of '' Elisabeth'' (ultimately Hebrew ''Elisheba''). Arising in the 12th century, it became popul ...
, which he introduced in 1986 * Steven Pemberton, co-designer of ABC, the incidental predecessor of Python; contributing author of HyperText Markup Language (
HTML Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets ( ...
) *
Alan Perlis Alan Jay Perlis (April 1, 1922 – February 7, 1990) was an American computer scientist and professor at Purdue University, Carnegie Mellon University and Yale University. He is best known for his pioneering work in programming languages and was t ...
, first
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
recipient, 1966, for ... and compiler construction,
ALGOL 58 ALGOL 58, originally named IAL, is a member of the ALGOL family of computer programming languages. It was an early compromise design soon superseded by ALGOL 60. According to John Backus: The Zurich ACM-GAMM Conference had two principal motives ...
* Carl Adam Petri, the IEEE Computer Society 2008
Computer Pioneer Award The Computer Pioneer Award was established in 1981 by the Board of Governors of the IEEE Computer Society to recognize and honor the vision of those people whose efforts resulted in the creation and continued vitality of the computer industry. ...
for
Petri net A Petri net, also known as a place/transition net (PT net), is one of several mathematical modeling languages for the description of distributed systems. It is a class of discrete event dynamic system. A Petri net is a directed bipartite graph t ...
theory and then parallel and distributed computing * Benjamin C. Pierce, for contributions to the theory and practice of programming languages and their type systems, the author of a book on
type systems In computer programming, a type system is a logical system comprising a set of rules that assigns a property called a ''type'' (for example, integer, floating point, string) to every '' term'' (a word, phrase, or other set of symbols). Usual ...
titled ''
Types and Programming Languages ''Types and Programming Languages'', written by Benjamin C. Pierce who is a Professor of Computer and Information Science at the University of Pennsylvania is a computing book on type systems and programming languages. ''Types and Programming ...
'' *
Rob Pike Robert Pike (born 1956) is a Canadian programmer and author. He is best known for his work on the Go programming language while working at Google and the Plan 9 operating system while working at Bell Labs, where he was a member of the Unix t ...
, co-designer of
Newsqueak Newsqueak is a concurrent programming language for writing application software with interactive graphical user interfaces. Newsqueak's syntax and semantics are influenced by the C (programming language), C language, but its approach to concurr ...
,
Limbo The unofficial term Limbo (, or , referring to the edge of Hell) is the afterlife condition in medieval Catholic theology, of those who die in original sin without being assigned to the Hell of the Damned. However, it has become the gene ...
, and Go * Keshav K Pingali, 2023 Computer Society Charles Babbage Award, for contributions to high-performance compilers and graph computing *
Gordon Plotkin Gordon David Plotkin (born 9 September 1946) is a theoretical computer scientist in the School of Informatics at the University of Edinburgh. Plotkin is probably best known for his introduction of structural operational semantics (SOS) and his ...
, for structural operational semantics (SOS) and
denotational semantics In computer science, denotational semantics (initially known as mathematical semantics or Scott–Strachey semantics) is an approach of formalizing the meanings of programming languages by constructing mathematical objects (called ''denotations'' ...
; the 2012 Milner Award, the ACM SIGPLAN 2010 PL Achievement Award * Amir Pnueli, the 1996
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
for seminal work introducing temporal logic into computing science and for outstanding contributions to program and systems verification * Robin Popplestone, COWSEL (renamed POP-1), POP-2,
POP-11 POP-11 is a Reflective programming, reflective, Dynamic compilation, incrementally compiled programming language with many of the features of an interpreted language. It is the core language of the Poplog Computer programming, programming system ...
languages, Poplog IDE;
Freddy II Freddy (1969–1971) and Freddy II (1973–1976) were experimental robots built in the Department of Machine Intelligence and Perception (later Department of Artificial Intelligence, now part of the School of Informatics at the University of Edin ...
robot * Cicely Popplewell, co-designer of software for
Manchester Mark 1 The Manchester Mark 1 was one of the earliest stored-program computers, developed at the Victoria University of Manchester, England from the Manchester Baby (operational in June 1948). Work began in August 1948, and the first version was operat ...
*
Vaughan Pratt Vaughan Pratt (born April 12, 1944) is a Professor, Professor Emeritus at Stanford University, who was an early pioneer in the field of computer science. Since 1969, Pratt has made several contributions to foundational areas such as search algorit ...
, developed dynamic logic, used in
formal verification In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of a system with respect to a certain formal specification or property, using formal methods of mathematics. Formal ver ...
of programs, and Pratt parsing, used in his syntax
CGOL CGOL (pronounced ''"see goll"'') is an alternative syntax featuring an extensible algebraic notation for the Lisp programming language. It was designed for MACLISP by Vaughan Pratt and subsequently ported to Common Lisp. The notation of CGOL is ...
for
Lisp Lisp (historically LISP, an abbreviation of "list processing") is a family of programming languages with a long history and a distinctive, fully parenthesized Polish notation#Explanation, prefix notation. Originally specified in the late 1950s, ...
* William Pugh, co-author of the
static code analysis In computer science, static program analysis (also known as static analysis or static simulation) is the analysis of computer programs performed without executing them, in contrast with dynamic program analysis, which is performed on programs duri ...
tool FindBugs, influential in the development of the Java Memory Model


R

* George Radin, first among equals designing
PL/I PL/I (Programming Language One, pronounced and sometimes written PL/1) is a procedural, imperative computer programming language initially developed by IBM. It is designed for scientific, engineering, business and system programming. It has b ...
*
Brian Randell Brian Randell (born 1936) is a British computer scientist, and emeritus professor at the School of Computing, Newcastle University, United Kingdom. He specialises in research into software fault tolerance and dependability, and is a noted ...
, in 1964, implemented the
Algol 60 ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a ...
Whetstone compiler Whetstone may refer to: Tools and technology * Whetstone, a sharpening stone used for knives and other cutting tools * Hornfels, a type of stone sometimes called whetstone * Whetstone (benchmark), a benchmark for measuring computing power * Operati ...
*
John Reif John H. Reif (born 1951) is an American academic, and Professor of Computer Science at Duke University, who has made contributions to large number of fields in computer science: ranging from algorithms and computational complexity theory to roboti ...
, the Proteus language and system for the development of parallel applications * Thomas W. Reps, co-developed the early (1978) IDE ''the Cornell Program Synthesizer'', co-founded
GrammaTech GrammaTech is a cybersecurity research services company based in Ithaca, New York. The company was founded in 1988 as a technology spin-off of Cornell University. GrammaTech software research services include the following; software analysis, vuln ...
, which developed
CodeSonar CodeSonar is a static code analysis tool from CodeSecure, Inc. CodeSonar is used to find and fix bugs and security vulnerabilities in source and binary code. It performs whole-program, inter-procedural analysis with abstract interpretation on ...
, ACM SIGPLAN 2017 PL Achievement Award *
Mitchel Resnick Mitchel Resnick (born June 12, 1956) is an American computer scientist. He is the LEGO Papert Professor of Learning Research at the Massachusetts Institute of Technology (MIT) Media Lab, and is the founder of Scratch. , Resnick serves as head ...
, developed the
visual programming language In computing, a visual programming language (visual programming system, VPL, or, VPS), also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create computer program, programs by ...
called Scratch *
John C. Reynolds John Charles Reynolds (June 1, 1935 – April 28, 2013) was an American computer scientist. Education and affiliations John Reynolds studied at Purdue University and then earned a Doctor of Philosophy (Ph.D.) in theoretical physics from Harvard U ...
, invented polymorphic lambda calculus (System F), clarified early work on
continuation In computer science, a continuation is an abstract representation of the control state of a computer program. A continuation implements ( reifies) the program control state, i.e. the continuation is a data structure that represents the computat ...
s, introduced defunctionalization, worked on a
separation logic In computer science, separation logic is an extension of Hoare logic, a way of reasoning about programs. It was developed by John C. Reynolds, Peter O'Hearn, Samin Ishtiaq and Hongseok Yang, drawing upon early work by Rod Burstall. The assertio ...
, ACM SIGPLAN 2003 PL Achievement Award *
Martin Richards Martin Richards may refer to: * Martin Richards (computer scientist) Martin Richards (born 21 July 1940) is a British computer scientist known for his development of the BCPL programming language which is both part of early research into porta ...
, the IEEE Computer Society 2003
Computer Pioneer Award The Computer Pioneer Award was established in 1981 by the Board of Governors of the IEEE Computer Society to recognize and honor the vision of those people whose efforts resulted in the creation and continued vitality of the computer industry. ...
for the design and implementation of
BCPL BCPL ("Basic Combined Programming Language") is a procedural, imperative, and structured programming language. Originally intended for writing compilers for other languages, BCPL is no longer in common use. However, its influence is still f ...
*
Dennis Ritchie Dennis MacAlistair Ritchie (September 9, 1941 – October 12, 2011) was an American computer scientist. He created the C programming language and the Unix operating system and B language with long-time colleague Ken Thompson. Ritchie and Thomp ...
, designer of C, the 1983
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
* Douglas T. Ross, father of the programming language APT for driving
numerical control Computer numerical control (CNC) or CNC machining is the automated control of machine tools by a computer. It is an evolution of numerical control (NC), where machine tools are directly managed by data storage media such as punched cards or ...
, designed and implemented ALGOL X *
Guido van Rossum Guido van Rossum (; born 31 January 1956) is a Dutch programmer. He is the creator of the Python programming language, for which he was the " benevolent dictator for life" (BDFL) until he stepped down from the position on 12 July 2018. He ...
, designer of Python * Barbara G. Ryder, extensive work on Java and Javascript, e.g.


S

*
Klaus Samelson Klaus Samelson (21 December 1918 – 25 May 1980) was a German mathematician, physicist, and computer pioneer in the area of programming language translation and push-pop stack algorithms for sequential formula translation on computers. Early ...
, pioneer in
compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
s for
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s and push-pop stack algorithms, Algol 60 Committee, see also * Jean Sammet, developed FORMAC, one of the developers of
COBOL COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural, and, since 2002, object-oriented language. COBOL is primarily ...
* Carl Sassenrath, designer and implementor of Rebol * Fred B. Schneider, defined liveness (as opposed to
safety Safety is the state of being protected from harm or other danger. Safety can also refer to the control of recognized hazards in order to achieve an acceptable level of risk. Meanings The word 'safety' entered the English language in the 1 ...
), contributions to assertional methods for developing concurrent and distributed programs * Jacob T. Schwartz, designer of
SETL SETL (SET Language) is a very high-level programming language based on the mathematical theory of sets. It was originally developed at the New York University (NYU) Courant Institute of Mathematical Sciences in the late 1960s, by a group cont ...
and Artspeak * Ilya Sergey, for the language Scilla and work on * Ravi Sethi, best known as co-author of the Dragon Book, 1996 ACM Fellow for contributions to compiler technology,
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s, ... * Viral B. Shah, the 2019 J. H. Wilkinson Prize for Numerical Software for the co-development of the language Julia * Brian Cantwell Smith, introduced the notion of
reflective programming In computer science, reflective programming or reflection is the ability of a process to examine, introspect, and modify its own structure and behavior. Historical background The earliest computers were programmed in their native assembly lang ...
in
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s *
David Canfield Smith David Canfield Smith is an American computer scientist best known for inventing computer icons and the programming technique known as programming by demonstration. His primary emphasis has been in the area of human–computer interaction (HCI) ...
, co-developer of the
visual programming language In computing, a visual programming language (visual programming system, VPL, or, VPS), also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create computer program, programs by ...
named Stagecast Creator based on the concept of
programming by example In computer science, programming by example (PbE), also termed programming by demonstration or more generally as demonstrational programming, is an end-user development technique for machine learning, teaching a computer new behavior by demonstratin ...
* Mary Lou Soffa, research on
compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
s and
program optimization In computer science, program optimization, code optimization, or software optimization is the process of modifying a software system to make some aspect of it work more efficiently or use fewer resources. In general, a computer program may be op ...
and more, 2012 Ken Kennedy Award *
Richard Stallman Richard Matthew Stallman ( ; born March 16, 1953), also known by his initials, rms, is an American free software movement activist and programmer. He campaigns for software to be distributed in such a manner that its users have the freedom to ...
, the 2015 ACM Software System Award for the GNU Compiler Collection (GCC) * Guy L. Steele, Jr., co-designer of Scheme and designer of
Fortress A fortification (also called a fort, fortress, fastness, or stronghold) is a military construction designed for the defense of territories in warfare, and is used to establish rule in a region during peacetime. The term is derived from L ...
, ACM SIGPLAN 1997 PL Achievement Award * Alexander Stepanov, advocate of
generic programming Generic programming is a style of computer programming in which algorithms are written in terms of data types ''to-be-specified-later'' that are then ''instantiated'' when needed for specific types provided as parameters. This approach, pioneer ...
, main designer and implementer of the C++
Standard Template Library The Standard Template Library (STL) is a software library originally designed by Alexander Stepanov for the C++ programming language that influenced many parts of the C++ Standard Library. It provides four components called ''algorithms'', '' ...
*
Christopher Strachey Christopher S. Strachey (; 16 November 1916 – 18 May 1975) was a British computer scientist. He was one of the founders of denotational semantics, and a pioneer in programming language design and computer time-sharing.F. J. Corbató, et al., T ...
, co-designer of
CPL (programming language) CPL (Combined Programming Language) is a multi-paradigm programming language developed in the early 1960s. It is an early ancestor of the C language via the BCPL and B languages. Design CPL was developed initially at the Mathematical Laborato ...
, father of
Denotational semantics In computer science, denotational semantics (initially known as mathematical semantics or Scott–Strachey semantics) is an approach of formalizing the meanings of programming languages by constructing mathematical objects (called ''denotations'' ...
*
Bjarne Stroustrup Bjarne Stroustrup (; ; born 30 December 1950) is a Danish computer scientist, known for the development of the C++ programming language. He led the Large-scale Programming Research department at Bell Labs, served as a professor of computer sci ...
, the 2015 AITO Dahl–Nygaard Prize for the design, implementation, and evolution of C++ and
IEEE Computer Society IEEE Computer Society (commonly known as the Computer Society or CS) is a technical society of the Institute of Electrical and Electronics Engineers (IEEE) dedicated to computing, namely the major areas of hardware, software, standards and people ...
2018 Computer Pioneer Award * Gerald Jay Sussman, co-designer of Scheme *
Bert Sutherland William Robert Sutherland (May 10, 1936 – February 18, 2020) was an American computer scientist who was the longtime manager of three prominent research laboratories, including Sun Microsystems Laboratories (1992–1998), the Systems Science L ...
, developed a two-dimensional
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
for manipulating graphical data, participated in the development of
Smalltalk Smalltalk is a purely object oriented programming language (OOP) that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learni ...
and
Java Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
* Don Syme, creator of F#


T

* Tim Teitelbaum, co-developed the early (1978) IDE ''the Cornell Program Synthesizer'', co-founded
GrammaTech GrammaTech is a cybersecurity research services company based in Ithaca, New York. The company was founded in 1988 as a technology spin-off of Cornell University. GrammaTech software research services include the following; software analysis, vuln ...
, which developed
CodeSonar CodeSonar is a static code analysis tool from CodeSecure, Inc. CodeSonar is used to find and fix bugs and security vulnerabilities in source and binary code. It performs whole-program, inter-procedural analysis with abstract interpretation on ...
, which performs
static analysis Static analysis, static projection, or static scoring is a simplified analysis wherein the effect of an immediate change to a system is calculated without regard to the longer-term response of the system to that change. If the short-term effect i ...
on C, C++, C#, and
Java Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
* Warren Teitelman, for BBN LISP, the 1992 ACM Software System Award for the IDE named
Interlisp Interlisp (also seen with a variety of capitalizations) is a programming environment built around a version of the programming language Lisp. Interlisp development began in 1966 at Bolt, Beranek and Newman (renamed BBN Technologies) in Cambridge, ...
*
Ken Thompson Kenneth Lane Thompson (born February 4, 1943) is an American pioneer of computer science. Thompson worked at Bell Labs for most of his career where he designed and implemented the original Unix operating system. He also invented the B (programmi ...
, designer of B, co-designer of Go,
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
1983 * Simon Thompson,
functional programming In computer science, functional programming is a programming paradigm where programs are constructed by Function application, applying and Function composition (computer science), composing Function (computer science), functions. It is a declarat ...
research, textbooks; designs Cardano
domain-specific language A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging ...
s: Marlowe * Mads Tofte, co-author of the Definition of
Standard ML Standard ML (SML) is a General-purpose programming language, general-purpose, High-level programming language, high-level, Modular programming, modular, Functional programming, functional programming language with compile-time type checking and t ...
, region inference, POPL 1994 Most Influential Paper Award * Emina Torlak, received the 2021 ACM
SIGPLAN SIGPLAN is the Association for Computing Machinery's Special Interest Group (SIG) on programming languages. This SIG explores programming language concepts and tools, focusing on design, implementation, practice, and theory. Its members are progra ...
Robin Milner Young Researcher Award for leading work in automated verification *
Alan Turing Alan Mathison Turing (; 23 June 1912 – 7 June 1954) was an English mathematician, computer scientist, logician, cryptanalyst, philosopher and theoretical biologist. He was highly influential in the development of theoretical computer ...
, for the
Turing machine A Turing machine is a mathematical model of computation describing an abstract machine that manipulates symbols on a strip of tape according to a table of rules. Despite the model's simplicity, it is capable of implementing any computer algori ...
; his work is so important that the
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
, the "Nobel Prize of Computing," bears his name. *
David A. Turner David A. Turner (26 January 1946 – 19 October 2023) was a British computer scientist. He is best known for designing and implementing three programming languages, including the first for functional programming based on lazy evaluation, comb ...
, designed and implemented SASL, KRC, and Miranda, member of IFIP Working Group 2.1 on Algorithmic Languages and Calculi


U

*
Jeffrey Ullman Jeffrey David Ullman (born November 22, 1942) is an American computer scientist and the Stanford W. Ascherman Professor of Engineering, Emeritus, at Stanford University. His textbooks on compilers (various editions are popularly known as the dr ...
, the 2020
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
for fundamental algorithms and theory underlying programming language implementation and for synthesizing these results, highly influential books. * David Ungar, the 2009 AITO Dahl–Nygaard Prize, his work on
Self In philosophy, the self is an individual's own being, knowledge, and values, and the relationship between these attributes. The first-person perspective distinguishes selfhood from personal identity. Whereas "identity" is (literally) same ...
has had a profound effect on the field by introducing the advanced adaptive compiling technology that made the widespread industrial use of Java possible


V

* Martin Vechev, developed Silq, the first high-level PL for quantum computing with a strong static type system, the 2019 ACM
SIGPLAN SIGPLAN is the Association for Computing Machinery's Special Interest Group (SIG) on programming languages. This SIG explores programming language concepts and tools, focusing on design, implementation, practice, and theory. Its members are progra ...
Robin Milner Young Researcher Award * John Vlissides, one of the
Gang of Four The Gang of Four () was a Maoist political faction composed of four Chinese Communist Party (CCP) officials. They came to prominence during the Cultural Revolution (1966–1976) and were later charged with a series of treasonous crimes due to th ...
, the 2006 AITO Dahl–Nygaard Prize, for ... their book '' Design Patterns: ...'', ACM SIGPLAN 2005 PL Achievement Award * Victor A. Vyssotsky, co-developed the pioneer dataflow language BLODI (BLOck DIagram). See
Dataflow programming In computer programming, dataflow programming is a programming paradigm that models a program as a directed graph of the data flowing between operations, thus implementing dataflow principles and architecture. Dataflow programming languages share ...


W

* Eiiti Wada, member of a team that designed ALGOL N as a proposed successor to
ALGOL 60 ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a ...
, but it was not chosen for what became
ALGOL 68 ALGOL 68 (short for ''Algorithmic Language 1968'') is an imperative programming language member of the ALGOL family that was conceived as a successor to the ALGOL 60 language, designed with the goal of a much wider scope of application and ...
; he later became a member of IFIP Working Group 2.1 * Philip Wadler, co-designer of
Haskell Haskell () is a general-purpose, statically typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research, and industrial applications, Haskell pioneered several programming language ...
, involved in adding generic types to Java 5.0, POPL 1993 Most Influential Paper Award *
Larry Wall Larry Arnold Wall (born September 27, 1954) is an American computer programmer, linguist, and author known for creating the Perl programming language and the patch tool. Early life and education Wall grew up in Los Angeles and Bremerton, Wash ...
, designer of
Perl Perl is a high-level, general-purpose, interpreted, dynamic programming language. Though Perl is not officially an acronym, there are various backronyms in use, including "Practical Extraction and Reporting Language". Perl was developed ...
* Mitchell Wand works on
semantics Semantics is the study of linguistic Meaning (philosophy), meaning. It examines what meaning is, how words get their meaning, and how the meaning of a complex expression depends on its parts. Part of this process involves the distinction betwee ...
of
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s, co-author of Essentials of Programming Languages *
John Warnock John Edward Warnock (October 6, 1940 – August 19, 2023) was an American computer scientist, inventor, technology businessman, and philanthropist best known for co-founding Adobe Systems Inc., the graphics and publishing software company, wit ...
, the 1989 ACM Software System Award for
PostScript PostScript (PS) is a page description language and dynamically typed, stack-based programming language. It is most commonly used in the electronic publishing and desktop publishing realm, but as a Turing complete programming language, it c ...
* David Warren, wrote the first compiler for
Prolog Prolog is a logic programming language that has its origins in artificial intelligence, automated theorem proving, and computational linguistics. Prolog has its roots in first-order logic, a formal logic. Unlike many other programming language ...
, designed the
Warren Abstract Machine In 1983, David H. D. Warren designed an abstract machine for the execution of Prolog consisting of a memory architecture and an instruction set. This design became known as the Warren Abstract Machine (WAM) and has become the ''de facto'' standard ...
(WAM), the ''de facto'' standard target for Prolog compilers *
Mark Wegman Mark N. Wegman is an American computer scientist known for his contributions to algorithms and compiler optimization. Wegman received his B.A. from New York University and his Ph.D. from the University of California, Berkeley. He joined IBM Resea ...
, co-invented the
static single-assignment form In compiler design, static single assignment form (often abbreviated as SSA form or simply SSA) is a type of intermediate representation (IR) where each variable is assigned exactly once. SSA is used in most high-quality optimizing compilers for ...
, the ACM SIGPLAN 2006 PL Achievement Award *
Peter Wegner Peter Wegner may refer to: * Peter Wegner (computer scientist) (1932–2017), professor of computer science at Brown University, Rhode Island, United States * Peter Wegner (American artist) (born 1963) * Peter Wegner (Australian artist) See also

, seminal work with Cardelli in OO programming: ''On Understanding Types'' * Peter J. Weinberger, contributed to the AWK programming language and the Fortran compiler f77 * Stephanie Weirich work on type inference has been incorporated into the
Glasgow Haskell Compiler The Glasgow Haskell Compiler (GHC) is a native or machine code compiler for the functional programming language Haskell. It provides a cross-platform software environment for writing and testing Haskell code and supports many extensions, libra ...
; the 2016 ACM
SIGPLAN SIGPLAN is the Association for Computing Machinery's Special Interest Group (SIG) on programming languages. This SIG explores programming language concepts and tools, focusing on design, implementation, practice, and theory. Its members are progra ...
Robin Milner Young Researcher Award * David J. Wheeler, the IEEE Computer Society 1985
Computer Pioneer Award The Computer Pioneer Award was established in 1981 by the Board of Governors of the IEEE Computer Society to recognize and honor the vision of those people whose efforts resulted in the creation and continued vitality of the computer industry. ...
for
assembly language In computing, assembly language (alternatively assembler language or symbolic machine code), often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence bet ...
programming *
Jennifer Widom Jennifer Widom (born ) is an American computer scientist known for her work in database systems and data management. She is notable for foundational contributions to semi-structured data management and data stream management systems. Since 2017 ...
, for her PhD thesis on trace-based network proof systems * Adriaan van Wijngaarden, a designer of
ALGOL 60 ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a ...
and
ALGOL 68 ALGOL 68 (short for ''Algorithmic Language 1968'') is an imperative programming language member of the ALGOL family that was conceived as a successor to the ALGOL 60 language, designed with the goal of a much wider scope of application and ...
, developed the two-level Van Wijngaarden grammar, expounded
continuation In computer science, a continuation is an abstract representation of the control state of a computer program. A continuation implements ( reifies) the program control state, i.e. the continuation is a data structure that represents the computat ...
s * Jeannette Wing, early work included ''A behavioral notion of subtyping'', influential in the field as Corporate Vice President of
Microsoft Research Microsoft Research (MSR) is the research subsidiary of Microsoft. It was created in 1991 by Richard Rashid, Bill Gates and Nathan Myhrvold with the intent to advance state-of-the-art computing and solve difficult world problems through technologi ...
and later as
Columbia University Columbia University in the City of New York, commonly referred to as Columbia University, is a Private university, private Ivy League research university in New York City. Established in 1754 as King's College on the grounds of Trinity Churc ...
executive vice president for research *
Niklaus Wirth Niklaus Emil Wirth ( IPA: ) (15 February 1934 – 1 January 2024) was a Swiss computer scientist. He designed several programming languages, including Pascal, and pioneered several classic topics in software engineering. In 1984, he won the Tu ...
, the 1984
Turing Award The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in the fi ...
for developing a sequence of innovative computer languages,
Euler Leonhard Euler ( ; ; ; 15 April 170718 September 1783) was a Swiss polymath who was active as a mathematician, physicist, astronomer, logician, geographer, and engineer. He founded the studies of graph theory and topology and made influential ...
,
ALGOL W ALGOL W is a programming language. It is based on a proposal for ALGOL X by Niklaus Wirth and Tony Hoare as a successor to ALGOL 60. ALGOL W is a relatively simple upgrade of the original ALGOL 60, adding string, bitstring, complex number a ...
, Pascal,
Modula The Modula programming language is a descendant of the Pascal language. It was developed in Switzerland, at ETH Zurich, in the mid-1970s by Niklaus Wirth, the same person who designed Pascal. The main innovation of Modula over Pascal is a mo ...
, and
Oberon Oberon () is a king of the fairy, fairies in Middle Ages, medieval and Renaissance literature. He is best known as a character in William Shakespeare's play ''A Midsummer Night's Dream'', in which he is King of the Fairies and spouse of Titania ...
*
Stephen Wolfram Stephen Wolfram ( ; born 29 August 1959) is a British-American computer scientist, physicist, and businessman. He is known for his work in computer algebra and theoretical physics. In 2012, he was named a fellow of the American Mathematical So ...
, creator of
Mathematica Wolfram (previously known as Mathematica and Wolfram Mathematica) is a software system with built-in libraries for several areas of technical computing that allows machine learning, statistics, symbolic computation, data manipulation, network ...
and
Wolfram Language The Wolfram Language ( ) is a proprietary, very high-level multi-paradigm programming language developed by Wolfram Research. It emphasizes symbolic computation, functional programming, and rule-based programming and can employ arbitrary stru ...
* Mike Woodger, influential in the design of software and languages, including
ALGOL 60 ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a ...
and Ada * Philip Woodward, designed
CORAL Corals are colonial marine invertebrates within the subphylum Anthozoa of the phylum Cnidaria. They typically form compact Colony (biology), colonies of many identical individual polyp (zoology), polyps. Coral species include the important Coral ...
66; his computer team developed the first implementation of
ALGOL 68 ALGOL 68 (short for ''Algorithmic Language 1968'') is an imperative programming language member of the ALGOL family that was conceived as a successor to the ALGOL 60 language, designed with the goal of a much wider scope of application and ...
,
ALGOL 68-R ALGOL 68-R was the first implementation of the Algorithmic Language ALGOL 68. In December 1968, the report on the Algorithmic Language ALGOL 68 was published. On 20–24 July 1970 a working conference was arranged by the International Federati ...
*
William Wulf William Allan Wulf (December 8, 1939 – March 10, 2023) was an American computer scientist notable for his work in programming languages and compilers. Early life and education Born in Chicago, Wulf attended the University of Illinois Urbana ...
, co-designer of
BLISS BLISS is a system programming language developed at Carnegie Mellon University (CMU) by W. A. Wulf, D. B. Russell, and A. N. Habermann around 1970. It was perhaps the best known system language until C debuted a few years later. Since then, C ...
, wrote an
optimizing compiler An optimizing compiler is a compiler designed to generate code that is optimized in aspects such as minimizing program execution time, memory usage, storage size, and power consumption. Optimization is generally implemented as a sequence of op ...
for it, co-founded the compiler technology company Tartan, Inc.


Y

* Katherine Yelick, known for her work in partitioned global address space languages, including co-inventing
Unified Parallel C Unified Parallel C (UPC) is an extension of the C programming language designed for high-performance computing on large-scale parallel machines, including those with a common global address space ( SMP and NUMA) and those with distributed me ...
* Andrey Yershov, theory, design, and implementation of programming languages (ALPHA, BETA, Rapira), partial evaluation * Nobuo Yoneda, member of a team that designed ALGOL N as a proposed successor to
ALGOL 60 ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a ...
, but it was not chosen for what became
ALGOL 68 ALGOL 68 (short for ''Algorithmic Language 1968'') is an imperative programming language member of the ALGOL family that was conceived as a successor to the ALGOL 60 language, designed with the goal of a much wider scope of application and ...
; a member of IFIP Working Group 2.1 * Akinori Yonezawa, the 2008 AITO Dahl–Nygaard Prize for "his overall contribution to both theory and practice of concurrent OO languages...", designer ABCL/R, a
reflective Reflection is the change in direction of a wavefront at an interface between two different media so that the wavefront returns into the medium from which it originated. Common examples include the reflection of light, sound and water waves. The ...
subset of the first concurrent OO programming language ABCL/1


Z

* Marvin Zelkowitz, PL features to aid in program development and debugging, tests for runtime correctness of executable code * Heinz Zemanek, managed the IBM Laboratory Vienna, was crucial in its developing a formal definition of
PL/I PL/I (Programming Language One, pronounced and sometimes written PL/1) is a procedural, imperative computer programming language initially developed by IBM. It is designed for scientific, engineering, business and system programming. It has b ...
* Jaap A. Zonneveld, he and
Edsger W. Dijkstra Edsger Wybe Dijkstra ( ; ; 11 May 1930 – 6 August 2002) was a Dutch computer scientist, programmer, software engineer, mathematician, and science essayist. Born in Rotterdam in the Netherlands, Dijkstra studied mathematics and physics and the ...
wrote the first
ALGOL 60 ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a ...
compiler


See also

*
Programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
*
List of computer scientists This is a list of computer scientists, people who do work in computer science, in particular researchers and authors. Some persons notable as programmers are included here because they work in research as well as program. A few of these people ...
* List of programmers


References


External links


Language People
{{DEFAULTSORT:Programming language researchers Lists of computer scientists