List of programming language researchers
   HOME

TheInfoList



OR:

The following is list of researchers of programming language theory,
design A design is a plan or specification for the construction of an object or system or for the implementation of an activity or process or the result of that plan or specification in the form of a prototype, product, or process. The verb ''to design' ...
,
implementation Implementation is the realization of an application, or execution of a plan, idea, model, design, specification, standard, algorithm, or policy. Industry-specific definitions Computer science In computer science, an implementation is a real ...
, and related areas.


A

* Martín Abadi, for the programming language Baby Modula-3 and his book (with
Luca Cardelli Luca Andrea Cardelli, Fellow of the Royal Society (FRS), is an Italian computer scientist who is a research professor at the University of Oxford in Oxford, UK. Cardelli is well known for his research in type theory and operational semantics. A ...
) ''A Theory of Objects'' *
Samson Abramsky Samson Abramsky (born 12 March 1953) is Professor of Computer Science at University College London. He was previously the Christopher Strachey Professor of Computing at the University of Oxford, from 2000 to 2021. He has made contributions to t ...
, contributions to the areas of the lazy lambda calculus and
concurrency theory In computer science, concurrency is the ability of different parts or units of a program, algorithm, or problem to be executed out-of-order or in partial order, without affecting the outcome. This allows for parallel execution of the concur ...
and co-editing the 6 Volume ''Handbook of Logic in Computer Science'' *
Jean-Raymond Abrial Jean-Raymond Abrial (born 1938) is a French computer scientist and inventor of the Z and B formal methods. Abrial's 1974 paper ''Data Semantics'' laid the foundation for a formal approach to Data Models; although not adopted directly by practit ...
, 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 ...
, targeted at the clear specification of
computer program A computer program is a sequence or set of instructions in a programming language for a computer to execute. Computer programs are one component of software, which also includes documentation and other intangible components. A computer program ...
s and computer-based systems in general *
Vikram Adve Vikram Adve (born 28 June 1966) is the Donald B. Gillies professor in the Department of Computer Science and a Professor in Electrical and Computer Engineering at the University of Illinois at Urbana-Champaign. Academia In 2020, Vikram Adve is ...
, the 2012 ACM Software System Award for
LLVM LLVM is a set of compiler and toolchain technologies that can be used to develop a front end for any programming language and a back end for any instruction set architecture. LLVM is designed around a language-independent intermediate repre ...
, a set of
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs tha ...
and
toolchain In software, a toolchain is a set of programming tools that is used to perform a complex software development task or to create a software product, which is typically another computer program or a set of related programs. In general, the tools for ...
technologies * Gul Agha, elected as an
ACM Fellow ACM or A.C.M. may refer to: Aviation * AGM-129 ACM, 1990–2012 USAF cruise missile * Air chief marshal * Air combat manoeuvring or dogfighting * Air cycle machine * Arica Airport (Colombia) (IATA: ACM), in Arica, Amazonas, Colombia Computing * ...
in 2018 for ''research in concurrent programming and formal methods, specifically the Actor Model'' *
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 for fundamental algorithms and theory underlying programming language implementation and for synthesizing these results ...highly influential books ... * Frances Allen, the 2006 Turing Award for pioneering contributions to the theory and practice of optimizing compiler techniques ... *
Andrew Appel Andrew Wilson Appel (born 1960) is the Eugene Higgins Professor of computer science at Princeton University. He is especially well-known because of his compiler books, the ''Modern Compiler Implementation in ML'' () series, as well as ''Compili ...
, especially well-known because of his
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs tha ...
books, the ''Modern Compiler Implementation in ML'' () series, as well as ''Compiling With Continuations'' () *
Krzysztof R. Apt Krzysztof R. Apt (born 26 December 1949 in Katowice, Poland) is a Polish computer scientist. He defended his PhD in mathematical logic in Warsaw, Poland in 1974. His research interests include program correctness and semantics, use of logic as a ...
, the use of logic as a programming language *
Bruce Arden Bruce Wesley Arden ( – ) was an American computer scientist. Arden enlisted in the U.S. Navy during World War II (1944-1946) as a Radar Technician Third Class in California, Chicago, and Kodiak, Alaska. He graduated from Purdue University ...
, co-authored two compilers, GAT for the IBM 650 and MAD


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 directed the team that invented and implemented FORTRAN, the first widely used high-level programming language, and was the inventor of the Backu ...
, the 1977 Turing Award 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. From 2022, Bak will act as team manager for UCI Women's WorldTeam . Ba ...
, the 2018 AITO Dahl-Nygaard Prize for pioneering work in pointer-safe object-orientation and leading the implementation of Beta,
Self The self is an individual as the object of that individual’s own reflective consciousness. Since the ''self'' is a reference by a subject to the same subject, this reference is necessarily subjective. The sense of having a self—or ''selfhoo ...
, Strongtalk, Java Hotspot, ..., the ACM SIGPLAN 2016 PL Software Award for V8 Javascript *
Henri Bal Henri Elle Bal (born 16 April 1958) is a professor of computer science at the Vrije Universiteit, Amsterdam in the Netherlands. He is a well-known researcher in computer systems with a specialization in parallel computer systems, languages, and a ...
, programming languages for distributed systems, e.g. Orca *
Friedrich L. Bauer Friedrich Ludwig "Fritz" Bauer (10 June 1924 – 26 March 2015) was a German pioneer of computer science and professor at the Technical University of Munich. Life Bauer earned his Abitur in 1942 and served in the Wehrmacht during World War ...
, proposed the stack method of expression evaluation, member of the Algol 60 Committee, see also *
Kent Beck Kent Beck (born 1961) is an American software engineer and the creator of extreme programming, a software development methodology that eschews rigid formal specification for a collaborative and iterative design process. Beck was one of the 17 ...
, a leading proponent of Test-Driven Development (TDD), pioneered
software design pattern In software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design. It is not a finished design that can be transformed directly into source or machine co ...
s, and co-wrote
JUnit JUnit is a unit testing framework for the Java programming language. JUnit has been important in the development of test-driven development, and is one of a family of unit testing frameworks which is collectively known as xUnit that originated ...
for Java *
Jeff Bezanson Jeff Bezanson (born December 26, 1981) is a computer scientist best known for co-creating the Julia programming language with Stefan Karpinski, Alan Edelman and Viral B. Shah in 2012. The language spawned Julia Computing Inc. (since then rena ...
, the 2019 J. H. Wilkinson Prize for Numerical Software for the co-development of the
Julia Julia is usually a feminine given name. It is a Latinate feminine form of the name Julio and Julius. (For further details on etymology, see the Wiktionary entry "Julius".) The given name ''Julia'' had been in use throughout Late Antiquity (e.g ...
programming language * Dines Bjørner, the Vienna Development Method (VDM), the Raise specification language * Daniel Bobrow, 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, ...
*
Corrado Böhm Corrado Böhm (17 January 1923 – 23 October 2017) was a Professor Emeritus at the University of Rome "La Sapienza" and a computer scientist known especially for his contributions to the theory of structured programming, constructive mathem ...
, 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 In computing, a meta-circular evaluator (MCE) or meta-circular interpreter (MCI) is an interpreter which defines each feature of the interpreted language using a similar facility of the interpreter's host language. For example, interpreting a lambd ...
, 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 function ...
*
Grady Booch Grady Booch (born February 27, 1955) is an American software engineer, best known for developing the Unified Modeling Language (UML) with Ivar Jacobson and James Rumbaugh. He is recognized internationally for his innovative work in software archi ...
, developer of the Unified Modeling Language(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 the first assembly language * 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 Syntax ...
, member IFIP Working Group 2.1 on Algorithmic Languages and Calculi *
Gilad Bracha Gilad Bracha is a software engineer at F5 Networks, 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 Language Specificati ...
, the 2017 AITO Dahl-Nygaard Prize for outstanding work on many topics relevant to OO, including
mixin In object-oriented programming languages, a mixin (or mix-in) is a class that contains methods for use by other classes without having to be the parent class of those other classes. How those other classes gain access to the mixin's methods depen ...
s, Java generics, Strongtalk, and
Newspeak Newspeak is the fictional language of Oceania, a totalitarian superstate that is the setting of the 1949 dystopian novel ''Nineteen Eighty-Four'', by George Orwell. In the novel, the Party created Newspeak to meet the ideological requirements ...
* Larry Breed, the 1973 Grace Murray Hopper Award for the design and implementation of APL\360 *
Walter Bright Walter G. Bright is an American computer programmer who created the D programming language, the Zortech C++ compiler, and the ''Empire'' computer game. Early life and education Bright is the son of the United States Air Force pilot Charles D. ...
, designer of D *
Per Brinch Hansen Per Brinch Hansen (13 November 1938 – 31 July 2007) was a Danish-American computer scientist known for his work in operating systems, concurrent programming and parallel and distributed computing. Biography Early life and education Per B ...
(surname "Brinch Hansen"), the IEEE Computer Society 2002 Computing Pioneer Award for ...
Concurrent Pascal Concurrent Pascal is a programming language designed by Per Brinch Hansen for writing concurrent computing programs such as operating systems and real-time computing monitoring systems on shared memory computers. A separate language, ''Sequenti ...
*
Kim Bruce Kim B. Bruce is an American computer scientist. He is the Reuben C. and Eleanor Winslow Professor of Computer Science at Pomona College, and was previously the Frederick Latimer Wells Professor of Computer Science at Williams College. He helped ...
, the 2021 AITO Dahl-Nygaard Prize for ... programming language theory and design in general and object orientation specifically *
Rod Burstall Rodney Martineau "Rod" Burstall FRSE (born 1934) is a British computer scientist and one of four founders of the Laboratory for Foundations of Computer Science at the University of Edinburgh. Biography Burstall studied physics at the Universi ...
, the languages POP, NPL, and Hope; 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 baritone voice, Burton established himself as a formidable Shakespearean actor in the 1950s, and he gave a memorable pe ...
, 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, Fellow of the Royal Society (FRS), is an Italian computer scientist who is a research professor at the University of Oxford in Oxford, UK. Cardelli is well known for his research in type theory and operational semantics. A ...
, research in
type theory In mathematics, logic, and computer science, a type theory is the formal presentation of a specific type system, and in general type theory is the academic study of type systems. Some type theories serve as alternatives to set theory as a fou ...
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 execut ...
, 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+. While it has been influential in research circles (influencing the designs of languages such as Java, C#, and Python) it has not ...
and Polyphonic C#, first
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs tha ...
for ML, the 2007 AITO Dahl-Nygaard Prize, *
Craig Chambers Craig Chambers has been a computer scientist at Google since 2007. Prior to this, he was a Professor in the department of Computer Science and Engineering at the University of Washington. He received his B.S. degree in Computer Science from MIT i ...
, the 2011 AITO Dahl-Nygaard Prize for the design of
Cecil Cecil may refer to: People with the name * Cecil (given name), a given name (including a list of people and fictional characters with the name) * Cecil (surname), a surname (including a list of people with the name) Places Canada *Cecil, Alberta, ...
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 Unity may refer to: Buildings * Unity Building, Oregon, Illinois, US; a historic building * Unity Building (Chicago), Illinois, US; a skyscraper * Unity Buildings, Liverpool, UK; two buildings in England * Unity Chapel, Wyoming, Wisconsin, US; ...
* John Cocke, the 1987 Turing Award for significant contributions in the design and theory of compilers, ..., and ...; co-developed the CYK parsing algorithm *
Alain Colmerauer Alain Colmerauer (24 January 1941 – 12 May 2017) was a French computer scientist. He was a professor at Aix-Marseille University, and the creator of the logic programming language Prolog. Early life Alain Colmerauer was born on 24 January 194 ...
, creator of
Prolog Prolog is a logic programming language associated with artificial intelligence and computational linguistics. Prolog has its roots in first-order logic, a formal logic, and unlike many other programming languages, Prolog is intended primarily ...
* Richard W. Conway, for the introductory languages CORC and CUPL and the student-oriented dialect
PL/C PL/C is an instructional dialect of the programming language PL/I, developed at the Department of Computer Science of Cornell University in the early 1970s in an effort headed by Professor Richard W. Conway and graduate student Thomas R. Wilcox ...
; 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 over scriptable Mac applications. First introduced in System 7, it is currently included in all versions of macOS as part of a package of system aut ...
, the 2014 AITO Dahl-Nygaard Prize for contributions to the theory and practice of OO programming * Keith D. Cooper, Keith Cooper, research on programming languages, compilers, optimization, and static analysis * Thierry Coquand, ACM SIGPLAN 2013 PL Software Award and the 2015 ACM Software System Award for
Coq Coq is an interactive theorem prover first released in 1989. It allows for expressing mathematical assertions, mechanically checks proofs of these assertions, helps find formal proofs, and extracts a certified program from the constructive proof ...
* Patrick Cousot, for contributions to
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
s through the co-invention of abstract interpretation, ACM SIGPLAN 2013 PL Achievement Award *
Radhia Cousot Radhia Cousot (6 August 1947 – 1 May 2014) was a Tunisian 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 :fr:B ...
, for contributions to
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
s through the co-invention of abstract interpretation, 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 w ...
, the 2001 Turing Award for ideas fundamental to the emergence of OO programming, through hedesign of the programming languages Simula I and Simula 67 * Olivier Danvy specializes in
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
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 computati ...
s * John Darlington, work on program transformation and functional programming, including NPL and Hope+ *
L. Peter Deutsch L Peter Deutsch (born Laurence Peter Deutsch on August 7, 1946, in Boston, Massachusetts) is the founder of Aladdin Enterprises and creator of Ghostscript, a free software PostScript and Portable Document Format, PDF interpreter. Deutsch's othe ...
, 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. Tra ...
(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 famous for being the computer most important in the creation of hacker culture at Massachusett ...
), 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, first ALGOL 60 compiler, weakest preconditions, the 1972 Turing Award 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 research scientist (''chargé de recherche'') at the French government research insti ...
, co-developer and implementor of OCaml, especially its
garbage collector A waste collector, also known as a garbageman, garbage collector, trashman (in the US), binman or (rarely) dustman (in the UK), is a person employed by a public or private enterprise to collect and dispose of municipal solid waste (refuse) and r ...
*
Sophia Drossopoulou Sophia Drossopoulou ( el, Σοφία Δροσοπούλου) is a computer scientist, currently working at Imperial College London, where she is Professor in Programming Languages. She earned her Ph.D. from the Karlsruhe Institute of Technology. ...
, formal methods for
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
s, proof of the soundness of
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...


E

*
Wim Ebbinkhuijsen Wim Ebbinkhuijsen (born 24 December 1939, Amsterdam) is a retired Dutch computer scientist who is considered to be one of the "fathers of COBOL". in 1979 he initiated the ''International ISO COBOL Working Group''. From 1967 he was a member, and f ...
, one of the fathers of COBOL, 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 Julia is a high-level, dynamic programming language. Its features are well suited for numerical analysis and computational science. Distinctive aspects of Julia's design include a type system with parametric polymorphism in a dynamic programm ...
*
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 served ...
, designer of
JavaScript JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites use JavaScript on the client side for webpage behavior, of ...


F

*
Mahmoud Samir Fayed Mahmoud Samir Fayed (born December 29, 1986) is a computer programmer, known as the creator of the PWCT programming language. PWCT is a free open source visual programming language for software development. He also created or designed Ring. He i ...
, creator of
PWCT PWCT is a free open source visual programming language for software development. Goal Programming Without Coding Technology (PWCT) is designed to be a general-purpose visual programming language that can be used for applications and systems de ...
and
Ring Ring 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 :(hence) to initiate a telephone connection Arts, entertainment and media Film and ...
*
Matthias Felleisen Matthias Felleisen is a German-American computer science professor and author. He grew up in Germany and immigrated to the US when he was 21 years old. He received his PhD from Indiana University under the direction of Daniel P. Friedman. Afte ...
, ACM SIGPLAN 2018 PL Software Award for Racket, ACM SIGPLAN 2012 PL Achievement Award *
Jeanne Ferrante Jeanne Ferrante is a computer scientist active in the field of compiler technology, where she has made important contributions regarding optimization and parallelization. Jeanne Ferrante is Professor of Computer Science and Engineering at Uni ...
, 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 Julia is usually a feminine given name. It is a Latinate feminine form of the name Julio and Julius. (For further details on etymology, see the Wiktionary entry "Julius".) The given name ''Julia'' had been in use throughout Late Antiquity (e.g ...
programming language, * Matthew Flatt, ACM SIGPLAN 2018 PL Software Award for Racket * Robert W. Floyd, the 1978 Turing Award 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 ''Essentials of Programming Languages'' (''EOPL'') is a textbook on programming languages by Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes. EOPL surveys the principles of programming languages from an operational perspective. It ...
'' * Yoshihiko Futamura, partial evaluation, especially Futamura projections


G

* Richard P. Gabriel, for work on Lisp, and especially Common Lisp; the 2004 ACM-AAAI Allen Newell Award for innovations in programming languages and software design ... *
Bernard Galler Bernard A. Galler ( in Chicago – in Ann Arbor, Michigan) 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 includi ...
, involved in the development of computer languages, including MAD *
Erich Gamma Erich Gamma is a Swiss computer scientist and one of the four co-authors (referred to as "Gang of Four") of the software engineering textbook, '' Design Patterns: Elements of Reusable Object-Oriented Software''. Gamma is an expert in the Eclipse ...
, co-wrote the
JUnit JUnit is a unit testing framework for the Java programming language. JUnit has been important in the development of test-driven development, and is one of a family of unit testing frameworks which is collectively known as xUnit that originated ...
software testing framework; one of the Gang of Four, 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, and co-creati ...
, co-author of
The Design of an Optimizing Compiler ''The Design of an Optimizing Compiler'' (Elsevier Science Ltd, 1980, ), by William Wulf, Richard K. Johnson, Charles B. Weinstock, Steven O. Hobbs, and Charles M. Geschke, was published in 1975 by Elsevier. It describes the BLISS optimizing comp ...
, the 1989 ACM Software System Award for PostScript * Jeremy Gibbons,
generic programming Generic programming is a style of computer programming in which algorithms are written in terms of types ''to-be-specified-later'' that are then ''instantiated'' when needed for specific types provided as parameters. This approach, pioneered b ...
and
functional programming In computer science, functional programming is a programming paradigm where programs are constructed by applying and composing functions. It is a declarative programming paradigm in which function definitions are trees of expressions that ...
, member of IFIP Working Group 2.1, which supports and maintains Algol 60 and
Algol 68 ALGOL 68 (short for ''Algorithmic Language 1968'') is an imperative programming language that was conceived as a successor to the ALGOL 60 programming language, designed with the goal of a much wider scope of application and more rigorously d ...
* Adele Goldberg, the 1987 ACM Software System Award for Smalltalk * Andrew Gordon, co-designer of
Concurrent Haskell Concurrent Haskell extends Haskell 98 with explicit concurrency. Its two main underlying concepts are: * A primitive type MVar α implementing a bounded/single-place asynchronous channel, which is either empty or holds a value of type α. * The ...
, co-inventor of the ambient calculus for reasoning about mobile code, designed
SecPAL SecPAL is a declarative, logic-based, security policy language that has been developed to support the complex access control requirements of large scale distributed computing environments. Common access control requirements Here is a partial-list ...
*
James Gosling James Gosling (born May 19, 1955) is a Canadian computer scientist, best known as the founder and lead designer behind the Java programming language. Gosling was elected a member of the National Academy of Engineering in 2004 for the conception ...
, the 2002 ACM Software System Award for
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
* Robert Graham, co-authored two compilers, GAT for the IBM 650 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) is an American computer scientist who is 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 1969. ...
, the 1985 Grace Murray Hopper Award for establishing the theoretical basis of the field of
logic programming Logic programming is a programming paradigm which is largely based on formal logic. Any program written in a logic programming language is a set of sentences in logical form, expressing facts and rules about some problem domain. Major logic pro ...
* Sheila Greibach, grammar theory,
Greibach normal form In formal language theory, a context-free grammar is in Greibach normal form (GNF) if the right-hand sides of all production rules start with a terminal symbol, optionally followed by some variables. A non-strict form allows one exception to this f ...
*
David Gries David Gries (born April 26, 1939 in Flushing, Queens, New York) is an American computer scientist at Cornell University, United States mainly known for his books ''The Science of Programming'' (1981) and ''A Logical Approach to Discrete Math' ...
, 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, California, Modesto, California, CA – October 4, 2006, Tucson, Arizona, AZ) was a computer scientist known for his research into high-level programming languages and symbolic computation. His language c ...
, 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 E. Griswold and Ivan P. Polonsky, culminating in SNOBOL4. It was one of ...
, SL5, and
Icon An icon () is a religious work of art, most commonly a painting, in the cultures of the Eastern Orthodox, Oriental Orthodox, and Catholic churches. They are not simply artworks; "an icon is a sacred image used in religious devotion". The most ...
*
Jürg Gutknecht Jürg Gutknecht (born 3 January 1949 in Bülach) is a Swiss computer scientist. He developed, with Niklaus Wirth, the programming language Oberon and the corresponding operating system Oberon. Biography Jürg Gutknecht was full professor in th ...
, co-developer of the PL
Oberon Oberon () is a king of the fairies in 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, Queen of the Fairi ...
, developer of the PL
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 John Vogel Guttag (born March 6, 1949) is an American computer scientist, professor, and former head of the department of Electrical Engineering and Computer Science at MIT. Education and career John Guttag was raised in Larchmont, New York, t ...
, co-developer of the
Larch family The Larch family of formal specification languages are intended for the precise specification of computing systems. They allow the clean specification of computer programs and the formulation of proofs about program behavior. The Larch family was ...
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 execu ...
s and the Larch Prover (LP) *
Michael Guy Michael J. T. Guy (born 1 April 1943) is a British computer scientist and mathematician. He is known for early work on computer systems, such as the Phoenix system at the University of Cambridge, and for contributions to number theory, comput ...
, 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 Syntax ...


H

* Nico Habermann, 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 b ...
*
Robert Harper Robert or Bob Harper may refer to: * Robert Almer Harper (1862–1946), American botanist * Robert Goodloe Harper (1765–1825), US senator from Maryland * Robert Harper (fl. 1734–1761), founder of Harpers Ferry, West Virginia * Robert Harper (a ...
, contributions to Standard ML and the LF logical framework, ACM SIGPLAN 2021 PL Achievement Award for foundational contributions to type theory *
Eric Hehner The given name Eric, Erich, Erikk, Erik, Erick, or Eirik is derived from the Old Norse name ''Eiríkr'' (or ''Eríkr'' in Old East Norse due to monophthongization). The first element, ''ei-'' may be derived from the older Proto-Norse ''* ain ...
, 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 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. He currently works for Mic ...
, original author of
Turbo Pascal Turbo Pascal is a software development system that includes a compiler and an integrated development environment (IDE) for the Pascal programming language running on CP/M, CP/M-86, and DOS. It was originally developed by Anders Hejlsberg at ...
, chief architect of C# * Laurie Hendren, continuous and significant contributions for 30+ years to the field of OO programming languages and compilation *
Thomas Henzinger Thomas Henzinger (born 1962) is an Austrian computer scientist, researcher, and president of the Institute of Science and Technology, Austria. Life and career Henzinger was born in Austria. He received his bachelor's degree in computer science ...
, 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 intended algorithms underlying a system with respect to a certain formal specification or property, using formal met ...
and synthesis of reactive, real-time, and hybrid computer systems" *
Maurice Herlihy Maurice Peter Herlihy (born 4 January 1954) is a computer scientist active in the field of multiprocessor synchronization. Herlihy has contributed to areas including theoretical foundations of wait-free synchronization, linearizable data structu ...
, 2003, 2012, and 2022 Dijkstra Prizes, one for work on
transactional memory In computer science and engineering, transactional memory attempts to simplify concurrent programming by allowing a group of load and store instructions to execute in an atomic way. It is a concurrency control mechanism analogous to database transa ...
*
Rich Hickey Rich Hickey is a computer programmer and speaker, known as the creator of the Clojure programming language. Clojure is a Lisp dialect built on top of the Java Virtual Machine. He also created or designed ClojureScript and the Extensible Data ...
, designer of
Clojure Clojure (, like ''closure'') is a dynamic and functional dialect of the Lisp programming language on the Java platform. Like other Lisp dialects, Clojure treats code as data and has a Lisp macro system. The current development process is comm ...
*
Tony Hoare Sir Charles Antony Richard Hoare (Tony Hoare or C. A. R. Hoare) (born 11 January 1934) 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 for fundamental contributions to the definition and design of programming languages *
Ric Holt Richard Craig Holt (February 13, 1941 – April 12, 2019) was an American-Canadians, Canadian computer scientists, computer scientist. Early life Holt was born on in 1941 in Bartlesville, Oklahoma, to Vashti Young and C.P. Holt, but later move ...
, the
Turing programming language Turing is a high-level, general-purpose programming language developed in 1982 by Ric Holt and James Cordy, at University of Toronto in Ontario, Canada. It was designed in order to help students taking their first computer science course learn ...
, contributions to Grok,
Euclid Euclid (; grc-gre, Εὐκλείδης; 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 ...
, SP/k, and S/SL * Urs Hölzle, co-implemented Strongtalk, a Smalltalk 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 to every "term" (a word, phrase, or other set of symbols). Usually the terms are various constructs of a computer progra ...
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. One of the first programmers of the Harvard Mark I computer, she was a pioneer of compu ...
, co-designer of COBOL *
Jim Horning James Jay Horning (24 August 1942 – 18 January 2013) was an American computer scientist and ACM Fellow. Overview Jim Horning received a PhD in computer science from Stanford University in 1969 for a thesis entitled ''A Study of Grammatical I ...
, interests included
programming languages A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
, 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 much of the cooler temperate northern hemisphere, on lowlands in the north and high on mountains fur ...
approach to
formal specification In computer science, formal specifications are mathematically based techniques whose purpose are 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 verif ...
* Susan B. Horwitz, noted for research on
programming languages A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
and
software engineering Software engineering is a systematic engineering approach to software development. A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term '' ...
, and in particular on program slicing and dataflow-analysis * Paul Hudak, best known for his involvement in the design 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 has pioneered a number of programming lan ...
, as well as several texts on Haskell *
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
Coq Coq is an interactive theorem prover first released in 1989. It allows for expressing mathematical assertions, mechanically checks proofs of these assertions, helps find formal proofs, and extracts a certified program from the constructive proof ...
* John Hughes, PhD thesis ''The Design and Implementation of Programming Languages''., co-developer of the QuickCheck software library, 2018 ACM Fellow for contributions to software testing and functional programming * Roger Hui, co-developed the programming language J


I

*
Jean Ichbiah Jean David Ichbiah (25 March 1940 – 26 January 2007) was a French computer scientist and the initial chief designer (1977–1983) of Ada, a general-purpose, strongly typed programming language with certified validated compilers. Ea ...
, designer the system implementation
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
called LIS, initial chief designer of
Ada Ada may refer to: Places Africa * Ada Foah, a town in Ghana * Ada (Ghana parliament constituency) * Ada, Osun, a town in Nigeria Asia * Ada, Urmia, a village in West Azerbaijan Province, Iran * Ada, Karaman, a village in Karaman Province, ...
* Roberto Ierusalimschy, designer of
Lua Lua or LUA may refer to: Science and technology * Lua (programming language) * Latvia University of Agriculture * Last universal ancestor, in evolution Ethnicity and language * Lua people, of Laos * Lawa people, of Thailand sometimes referred t ...
*
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 ...
, the 2022 AITO Dahl-Nygaard Prize and the 1987 ACM Software System Award for Smalltalk * Kenneth E. Iverson, the 1979 Turing Award 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 at least one is a metal. Unlike chemical compounds with metallic bases, an alloy will retain all the properties of a metal in the resulting material, such as electrical conductivity, ductilit ...
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 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 f ...
* Ralph Johnson, one of the Gang of Four, 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


K

*
Gilles Kahn Gilles Kahn (April 17, 1946 – February 9, 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 l ...
, coroutines and networks of processes * Ted Kaehler, co-implementer of Smalltalk *
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 Lan ...
, 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. He is an alumnus of Harvard and works at Julia Computing, which he co-founded with Julia co-creators, Alan Edelman, Jeff Bezanson, ...
, the 2019 J. H. Wilkinson Prize for Numerical Software for the co-development of the
Julia Julia is usually a feminine given name. It is a Latinate feminine form of the name Julio and Julius. (For further details on etymology, see the Wiktionary entry "Julius".) The given name ''Julia'' had been in use throughout Late Antiquity (e.g ...
programming language *
Alan Kay Alan Curtis Kay (born May 17, 1940) published by the Association for Computing Machinery 2012 is an American computer scientist best known for his pioneering work on object-oriented programming and windowing graphical user interface (GUI) d ...
, the 2003 Turing Award for pioneering many of the ideas at the root of contemporary OO programming languages, leading the team that developed Smalltalk, 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 s ...
* John G. Kemeny, co-designer and developer the first BASIC language * Ken Kennedy, the
McDowell Award The W. Wallace McDowell Award is awarded by the IEEE Computer Society for outstanding theoretical, design, educational, practical, or related innovative contributions that fall within the scope of Computer Society interest. This is the highest te ...
for contributions to compiler optimization and ..., ACM SIGPLAN 1999 PL Achievement Award *
Brian Kernighan Brian Wilson Kernighan (; born 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 through co- ...
, co-designer of
AWK AWK (''awk'') is a domain-specific language designed for text processing and typically used as a data extraction and reporting tool. Like sed and grep, it is a filter, and is a standard feature of most Unix-like operating systems. The AWK lang ...
and
AMPL AMPL (A Mathematical Programming Language) is an algebraic modeling language to describe and solve high-complexity problems for large-scale mathematical computing (i.e., 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 signalin ...
*
Gregor Kiczales Gregor Kiczales is an American computer scientist. He is currently a full time professor of computer science at the University of British Columbia in Vancouver, British Columbia, Canada. He is best known for developing the concept of aspect-orien ...
, the 2012 AITO Dahl-Nygaard Prize, for his work on
CLOS Clos may refer to: People * Clos (surname) Other uses * CLOS, Command line-of-sight, a method of guiding a missile to its intended target * Clos network, a kind of multistage switching network * Clos (vineyard), a walled vineyard; used in Fran ...
and the
MOP A mop (such as a floor mop) is a mass or bundle of coarse strings or yarn, etc., or a piece of cloth, sponge or other absorbent material, attached to a pole or stick. It is used to soak up liquid, for cleaning floors and other surfaces, to mop ...
and for spearheading aspect-orientation and
AspectJ AspectJ is an aspect-oriented programming (AOP) extension created at PARC for the Java programming language. It is available in Eclipse Foundation open-source projects, both stand-alone and integrated into Eclipse. AspectJ has become a widely use ...
*
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 comput ...
. computer graphics pioneer, created
BEFLIX The name derives from a combination of ''Bell Flicks''. Ken Knowlton used BEFLIX to create animated films for educational and engineering purposes. He also collaborated with the artist Stan Vanderbeek at Bell Labs to create a series of computer-an ...
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, mathematician, and professor emeritus at Stanford University. He is the 1974 recipient of the ACM Turing Award, informally considered the Nobel Prize of computer sc ...
, the 1974 Turing Award 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, development of BlueJ and Greenfoot * Kees Koster, co-designer of
ALGOL 68 ALGOL 68 (short for ''Algorithmic Language 1968'') is an imperative programming language that was conceived as a successor to the ALGOL 60 programming language, designed with the goal of a much wider scope of application and more rigorously d ...
, creator of
affix grammar An affix grammar is a kind of formal grammar; it is used to describe the syntax of languages, mainly computer languages, using an approach based on how natural language is typically described.Koster, Cornelis HA.Affix grammars for natural languages ...
s, creator of the original Compiler Description Language (CDL) *
Robert Kowalski Robert Anthony Kowalski (born 15 May 1941) is an American-British logician and computer scientist, whose research is concerned with developing both human-oriented models of computing and computational models of human thinking. He has spent mo ...
, the 2011 IJCAI Award for Research Excellence for ... pioneering work on ...
logic programming Logic programming is a programming paradigm which is largely based on formal logic. Any program written in a logic programming language is a set of sentences in logical form, expressing facts and rules about some problem domain. Major logic pro ...
; introduced
SLD resolution SLD resolution (''Selective Linear Definite'' clause resolution) is the basic inference rule used in logic programming. It is a refinement of resolution, which is both sound and refutation complete for Horn clauses. The SLD inference rule Give ...
, which is used in the implementation of the logic programming language
Prolog Prolog is a logic programming language associated with artificial intelligence and computational linguistics. Prolog has its roots in first-order logic, a formal logic, and unlike many other programming languages, Prolog is intended primarily ...
*
Dexter Kozen Dexter Campbell Kozen (born December 20, 1951) is an American theoretical computer scientist. He is Joseph Newton Pew, Jr. Professor in Engineering at Cornell University. He received his B.A. from Dartmouth College in 1974 and his PhD in compute ...
, one of the fathers of dynamic logic, an extension of modal logic 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 execute. Computer programs are one component of software, which also includes documentation and other intangible components. A computer program ...
s *
Shriram Krishnamurthi Shriram Krishnamurthi is a computer scientist, currently a professor of computer science at Brown University and a member of the core development group for the Racket programming languages, responsible for creation of software packages including ...
, developed
Flapjax Flapjax is a programming language built on JavaScript. It provides a spreadsheet-like reactive programming, dataflow computing style, termed functional reactive programming, making it easy to create reactive web pages without the burden of callb ...
, ACM SIGPLAN 2018 PL Software Award for Racket, the 2012 ACM SIGPLAN Robin Milner Young Researcher Award * David Kuck, the IEEE Computer Society 2011 Computing Pioneer Award for revolutionary parallel compiler technology including Parafrase (in 1977) and KAP Tools * Thomas E. Kurtz, co-designer and developer the first BASIC language


L

*
Monica S. Lam Monica Sin-Ling Lam is an American computer scientist. She is a professor in the Computer Science Department at Stanford University. Professional biography Monica Lam received a B.Sc. from University of British Columbia in 1980 and a Ph.D. in ...
, contributed to a wide range of topics including
compilers In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
and
program analysis In computer science, program analysis is the process of automatically analyzing the behavior of computer programs regarding a property such as correctness, robustness, safety and liveness. Program analysis focuses on two major areas: program op ...
, received the ACM Most Influential PLDI Paper Award in 2001 *
Leslie Lamport Leslie B. Lamport (born February 7, 1941 in Brooklyn) is an American computer scientist and mathematician. Lamport is best known for his seminal work in distributed systems, and as the initial developer of the document preparation system LaTeX an ...
, 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-t ...
and much more, the 2013 Turing Award *
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 bo ...
used the lambda calculus to model
ISWIM ISWIM (acronym for 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 ...
, in doing so defined the
off-side rule A computer programming language is said to adhere to the off-side rule of syntax if blocks in that language are expressed by their indentation. The term was coined by Peter Landin, possibly as a pun on the offside rule in association football ...
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 the definition of the
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 for the design and implementation of APL\360 *
Chris Lattner Christopher Arthur Lattner (born 1978) is an American software engineer, former Google and Tesla employee and co-founder of LLVM, Clang compiler, MLIR compiler infrastructure and the Swift programming language. , he is the co-founder and CEO ...
, 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 * SWIFT, ...
, ACM SIGPLAN 2010 PL Software Award and the 2012 ACM Software System Award for
LLVM LLVM is a set of compiler and toolchain technologies that can be used to develop a front end for any programming language and a back end for any instruction set architecture. LLVM is designed around a language-independent intermediate repre ...
, a set of
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs tha ...
and
toolchain In software, a toolchain is a set of programming tools that is used to perform a complex software development task or to create a software product, which is typically another computer program or a set of related programs. In general, the tools for ...
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 has pioneered a number of programming lan ...
, directed development of the
domain-specific programming 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 ...
called
Cryptol Cryptol is a domain-specific programming language for cryptography developed by the Portland, Oregon based software development firm, Galois, Inc. The language was originally developed for use by the United States National Security Agency. The lang ...
*
Harold Lawson Harold W. "Bud" Lawson (1937–2019) was a software engineer, computer architect and systems engineer. Lawson is credited with the 1964 invention of the pointer in high-level programming languages (with "a lot of comments" from Donald Knuth an ...
, the IEEE Computer Society 2000 Computing Pioneer Award 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 developed and published by IBM. It is designed for scientific, engineering, business and system programming. I ...
*
Doug Lea Douglas S. Lea is a professor of computer science and current head of the computer science department at State University of New York at Oswego, where he specializes in concurrent programming and the design of concurrent data structures. He was ...
, the 2010 AITO Dahl-Nygaard Prize, for tireless advocacy of OO 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 gro ...
, father of
PHP PHP is a general-purpose scripting language geared toward 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 Xavier or Xabier may refer to: Place * Xavier, Spain People * Xavier (surname) * Xavier (given name) * Francis Xavier (1506–1552), Catholic saint ** St. Francis Xavier (disambiguation) * St. Xavier (disambiguation) * Xavier (footballer, born ...
, the 2016 Milner Award for exceptional achievements in programming including OCaml, 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 that was conceived as a successor to the ALGOL 60 programming language, designed with the goal of a much wider scope of application and more rigorously d ...
, 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 development of the Liskov su ...
, the 2008 Turing Award 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 developed and published by IBM. It is designed for scientific, engineering, business and system programming. I ...
, the Vienna Development Method (VDM), work on the
functional programming In computer science, functional programming is a programming paradigm where programs are constructed by applying and composing functions. It is a declarative programming paradigm in which function definitions are trees of expressions that ...
language FL


M

* Simon Marlow, ACM SIGPLAN 2011 PL Software Award for the
Glasgow Haskell Compiler The Glasgow Haskell Compiler (GHC) is an open-source native code compiler for the functional programming language Haskell. It provides a cross-platform environment for the writing and testing of Haskell code and it supports numerous extensions, ...
*
Larry Masinter Larry Melvin Masinter is an early internet pioneer and ACM Fellow. After attending Stanford University, he became a Principal Scientist of Xerox Artificial Intelligence Systems and author or coauthor of 26 of the Internet Engineering Task Force's ...
, 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, ...
*
Yukihiro Matsumoto , also known as Matz, is a Japanese computer scientist and software programmer best known as the chief designer of the Ruby programming language and its original reference implementation, Matz's Ruby Interpreter (MRI). His demeanor has brough ...
, designer of
Ruby A 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 ...
* David May, lead designer of occam * John McCarthy, the Lisp family of programming languages, the 1971 Turing Award *
Douglas McIlroy Malcolm Douglas McIlroy (born 1932) is a 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 developed se ...
, pioneering researcher of macro processors and programming language extensibility, contributed to the design of
PL/I PL/I (Programming Language One, pronounced and sometimes written PL/1) is a procedural, imperative computer programming language developed and published by IBM. It is designed for scientific, engineering, business and system programming. I ...
,
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 E. Griswold and Ivan P. Polonsky, culminating in SNOBOL4. It was one of ...
, ALTRAN, TMG, and
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
* Kathryn S. McKinley, research on
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs tha ...
s, runtime systems, and
computer architecture In computer engineering, computer architecture is a description of the structure of a computer system made from component parts. It can sometimes be a high-level description that ignores details of the implementation. At a more detailed level, the ...
, introduced the Hoard C/C++ Memory Allocator, the ACM SIGPLAN 2012 PL Software Award for Jikes RVM * Lambert Meertens, co-designer of
ABC ABC are the first three letters of the Latin script known as the alphabet. ABC or abc may also refer to: Arts, entertainment, and media Broadcasting * American Broadcasting Company, a commercial U.S. TV broadcaster ** Disney–ABC Television ...
, the incidental predecessor of
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
; 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 that was conceived as a successor to the ALGOL 60 programming language, designed with the goal of a much wider scope of application and more rigorously d ...
Report * Erik Meijer, works on
functional programming In computer science, functional programming is a programming paradigm where programs are constructed by applying and composing functions. It is a declarative programming paradigm in which function definitions are trees of expressions that ...
(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 has pioneered a number of programming lan ...
),
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs tha ...
implementation,
parsing Parsing, syntax analysis, or syntactic analysis is the process of analyzing a string of symbols, either in natural language, computer languages or data structures, conforming to the rules of a formal grammar. The term ''parsing'' comes from L ...
, and programming language design *
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 idea of design by contract. Education and academic career Meyer rece ...
, created
Eiffel Eiffel may refer to: Places * Eiffel Peak, a summit in Alberta, Canada * Champ de Mars – Tour Eiffel station, Paris, France; a transit station Structures * Eiffel Tower, in Paris, France, designed by Gustave Eiffel * Eiffel Bridge, Ungheni, M ...
and advocated design by contract, awarded the 2005 AITO Dahl-Nygaard Prize * Harlan Mills, the IEEE Computer Society 1994 Computing Pioneer Award for Structured programming *
Robin Milner Arthur John Robin Gorell Milner (13 January 1934 – 20 March 2010), known as Robin Milner or A. J. R. G. Milner, was a British computer scientist, and a Turing Award winner.
, the 1991 Turing Award 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 Unity may refer to: Buildings * Unity Building, Oregon, Illinois, US; a historic building * Unity Building (Chicago), Illinois, US; a skyscraper * Unity Buildings, Liverpool, UK; two buildings in England * Unity Chapel, Wyoming, Wisconsin, US; ...
and * James G. Mitchell, work on the WATFOR compiler, languages
Mesa A mesa is an isolated, flat-topped elevation, ridge or hill, which is bounded from all sides by steep escarpments and stands distinctly above a surrounding plain. Mesas characteristically consist of flat-lying soft sedimentary rocks capped by a ...
and
Euclid Euclid (; grc-gre, Εὐκλείδης; 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 ...
, PhD thesis on ''The design and construction of flexible and efficient interactive programming systems'' * John 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. An abstract data type is defined by its behavior (semantics) from the point of view of a ''user'', of the data, specifically in terms of possible values, pos ...
s and played a pivotal role in developing type theory as a foundation for programming languages *
Calvin Mooers Calvin Northrup Mooers (October 24, 1919 – December 1, 1994), was an American computer scientist known for his work in information retrieval and for the programming language TRAC. Early life Mooers was a native of Minneapolis, Minnesota, atte ...
, the programming 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. Tra ...
* Chuck Moore, the programming language Forth * Roger D. Moore, implemented ALGOL 60, the 1973 Grace Murray Hopper Award for the design and implementation APL\360 *
Carroll Morgan Carroll Morgan may refer to: * Carroll Morgan (boxer) * Carroll Morgan (computer scientist) Charles ''Carroll'' Morgan (born 1952) is an American computer scientist who moved to Australia in his early teens. He completed his education there (h ...
, 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 until its value is needed ( non-strict evaluation) and which also avoids repeated evaluations (sharing). The ...
, 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 to every "term" (a word, phrase, or other set of symbols). Usually the terms are various constructs of a computer progr ...
s and proof-carrying code 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 capabiliti ...
systems, created Cyclone, 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 recyclabl ...
and
multiprocessor Multiprocessing 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. There ar ...
synchronization, co-inventor of
transactional memory In computer science and engineering, transactional memory attempts to simplify concurrent programming by allowing a group of load and store instructions to execute in an atomic way. It is a concurrency control mechanism analogous to database transa ...
* 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 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 for m ...
, the 2005 Turing Award for fundamental contributions to programming language design and the definition of ALGOL 60, to compiler design, and to ... *
George Necula George Ciprian Necula is a Romanian computer scientist, engineer at Google, and former professor at the University of California, Berkeley who does research in the area of programming languages and software engineering, with a particular focus on ...
, POPL 1997 and 2002 Most Influential Paper Award for proof-carrying code 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 network), which is coded as if it were a normal ( ...
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+. While it has been influential in research circles (influencing the designs of languages such as Java, C#, and Python) it has not ...
, the 2013 Herbrand Award for pioneering contributions to theorem proving and program verification ... *
Oscar Nierstrasz Oscar Marius Nierstrasz (born ) is a professor at the Computer Science Institute (IAM) at the University of Berne, and a specialist in software engineering and programming languages. He is active in the field of * programming languages and mec ...
, 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 * 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 for ideas fundamental to the emergence of OO programming, through hedesign of Simula I and Simula 67


O

*
Martin Odersky Martin Odersky (born 5 September 1958) is a German computer scientist and professor of programming methods at École Polytechnique Fédérale de Lausanne (EPFL) in Switzerland. He specializes in code analysis and programming languages. He designe ...
, 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, co-developed the
static program analysis In computer science, static program analysis (or static analysis) is the analysis of computer programs performed without executing them, in contrast with dynamic program analysis, which is performed on programs during their execution. The term ...
utility Infer Static Analyzer, 2001 Most Influential Paper Award *
John Ousterhout John Kenneth Ousterhout (, born October 15, 1954) is a professor of computer science at Stanford University. He founded Electric Cloud with John Graham-Cumming. Ousterhout was a professor of computer science at University of California, Berkeley ...
, the 1997 ACM Software System Award for
Tcl/Tk Tk is a free and open-source, cross-platform widget toolkit that provides a library of basic elements of GUI widgets for building a graphical user interface (GUI) in many programming languages. Tk provides a number of widgets commonly needed to ...
*
Susan Owicki Susan Owicki is a computer scientist, Association for Computing Machinery (ACM) Fellow, and one of the founding members of the Systers mailing list for women in computing. She changed careers in the early 2000s and became a licensed marriage ...
, contributions to semantics, e.g. Interference freedom and


P

*
Krishna Palem Krishna V. Palem is a computer scientist and engineer of Indian origin and is the Kenneth and Audrey Kennedy Professor of Computing at Rice University and the director of Institute for Sustainable Nanoelectronics (ISNE) at Nanyang Technological U ...
, 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, 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 i ...
in concurrent computing *
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 Coq is an interactive theorem prover first released in 1989. It allows for expressing mathematical assertions, mechanically checks proofs of these assertions, helps find formal proofs, and extracts a certified program from the constructive proof ...
* Lawrence Paulson, known for the text '' ML for the Working Programmer'' and the interactive theorem prover Isabelle, which he introduced in 1986 * Steven Pemberton, co-designer of
ABC ABC are the first three letters of the Latin script known as the alphabet. ABC or abc may also refer to: Arts, entertainment, and media Broadcasting * American Broadcasting Company, a commercial U.S. TV broadcaster ** Disney–ABC Television ...
, the incidental predecessor of
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
; contributing author of HyperText Markup Language (HTML) *
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 ...
, the 1966 Turing Award for ... and compiler construction *
Carl Adam Petri Carl Adam Petri (12 July 1926 in Leipzig – 2 July 2010 in Siegburg) was a German mathematician and computer scientist. Life and work Petri created his major scientific contribution, the concept of the Petri net, in 1939 at the age of 13, for ...
, the IEEE Computer Society 2008 Computing Pioneer Award for
Petri net A Petri net, also known as a place/transition (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 that ...
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 (computer science), type to every "term" (a word, phrase, or other set of symbols). Usually the terms are various constru ...
titled ''
Types and Programming Languages ''Types and Programming Languages'', , is a book by Benjamin C. Pierce 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 to every "term" (a word, phrase ...
'' *
Rob Pike Robert "Rob" Pike (born 1956) is a Canadian programmer and author. He is best known for his work on the Go (programming language), Go programming language and at Bell Labs, where he was a member of the Unix team and was involved in the creation o ...
, 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 language, but its approach to concurrency was inspired by C. A. ...
,
Limbo In Catholic theology, Limbo (Latin '' limbus'', edge or boundary, referring to the edge of Hell) is the afterlife condition of those who die in original sin without being assigned to the Hell of the Damned. Medieval theologians of Western Euro ...
, and Go *
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 h ...
, for
structural 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 execut ...
(SOS) and denotational semantics; the 2012 Milner Award, the ACM SIGPLAN 2010 PL Achievement Award * Amir Pnueli, the 1996 Turing Award for seminal work introducing temporal logic into computing science and for outstanding contributions to program and systems verification *
Robin Popplestone Robin John Popplestone (9 December 1938 in Bristol – 14 April 2004 in Glasgow) was a pioneer in the fields of machine intelligence and robotics. He is known for developing the COWSEL and POP-2, POP programming languages, and for his work on Fr ...
, developed
COWSEL COWSEL (''COntrolled Working SpacE Language'') is a programming language designed between 1964 and 1966 by Robin Popplestone. It was based on an reverse Polish notation, RPN form of Lisp programming language, Lisp combined with some ideas from Comb ...
and
POP-2 POP-2 (also referred to as POP2) is a programming language developed around 1970 from the earlier language POP-1 (developed by Robin Popplestone in 1968, originally named COWSEL) by Robin Popplestone and Rod Burstall at the University of Edin ...
* 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 oper ...
*
Vaughan Pratt Vaughan Pratt (born April 12, 1944) is a 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 algorithms, sorti ...
, 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 intended algorithms underlying a system with respect to a certain formal specification or property, using formal met ...
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 ...
for Lisp * William Pugh, co-author of the
static code analysis In computer science, static program analysis (or static analysis) is the analysis of computer programs performed without executing them, in contrast with dynamic program analysis, which is performed on programs during their execution. The term ...
tool
FindBugs FindBugs is an open-source static code analyser created by Bill Pugh and David Hovemeyer which detects possible bugs in Java programs. Potential errors are classified in four ranks: (i) scariest, (ii) scary, (iii) troubling and (iv) of concern ...
, 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 developed and published by IBM. It is designed for scientific, engineering, business and system programming. I ...
*
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 aut ...
, in 1964, implemented the Algol 60 Whetstone compiler *
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 Thomas W. Reps (born 28 May 1956, United States) is an American computer scientist known for his contributions to automatic program analysis. Dr. Reps is Professor of Computer Science in the Computer Sciences Department of the University of Wisco ...
, co-developed the early (1978) IDE ''the Cornell Program Synthesizer'', co-founded
GrammaTech GrammaTech is a software-development tools vendor based in Bethesda, Maryland with a research center based in Ithaca, New York. The company was founded in 1988 as a technology spin-off of Cornell University. GrammaTech is a provider of application ...
, which developed
CodeSonar CodeSonar is a static code analysis tool from GrammaTech. 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 C, C++ ...
, ACM SIGPLAN 2017 PL Achievement Award *
Mitchel Resnick Mitchel Resnick (born June 12, 1956) is Lego Papert Professor of Learning Research, Director of the Okawa Center, and Director of the Lifelong Kindergarten group at the Massachusetts Institute of Technology (MIT) Media Lab. , Resnick serves as h ...
, developed the visual programming language 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 computati ...
s, introduced defunctionalization, worked on a separation logic, ACM SIGPLAN 2003 PL Achievement Award *
Martin Richards Martin Richards may refer to: * Martin Richards (computer scientist) (born 1940), British computer scientist * Martin Richards (police officer) Martin Richards QPM (born 1959) is a British retired police officer, whose last post was as the Ch ...
, the IEEE Computer Society 2003 Computing Pioneer Award for the design and implementation of BCPL * Dennis Ritchie, designer of C, the 1983 Turing Award * Douglas T. Ross, father of the programming language
APT Apt. is an abbreviation for apartment. Apt may also refer to: Places * Apt Cathedral, a former cathedral, and national monument of France, in the town of Apt in Provence * Apt, Vaucluse, a commune of the Vaucluse département of France * A ...
for driving numerical control, designed and implemented
ALGOL X ALGOL X was the code name given to a programming language which was being developed as a successor to ALGOL 60, by the International Federation for Information Processing (IFIP) IFIP Working Group 2.1 on Algorithmic Languages and Calculi, which ...
*
Guido van Rossum Guido van Rossum (; born 31 January 1956) is a Dutch programmer best known as 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 ...
, designer of
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
* 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 translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs tha ...
s for
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
s and push-pop stack algorithms, Algol 60 Committee, see also *
Jean Sammet Jean may refer to: People * Jean (female given name) * Jean (male given name) * Jean (surname) Fictional characters * Jean Grey, a Marvel Comics character * Jean Valjean, fictional character in novel ''Les Misérables'' and its adaptations * Jea ...
, developed FORMAC, one of the developers of COBOL *
Carl Sassenrath Carl Sassenrath (born 1957 in California) is an architect of operating systems and computer languages. He brought Computer multitasking, multitasking to personal computers in 1985 with the creation of the Amiga, Amiga Computer operating system ...
, designer and implementor of Rebol *
Fred B. Schneider Fred Barry Schneider (born December 7, 1953) is an American computer scientist, based at Cornell University, where he is the Samuel B. Eckert Professor of Computer Science. He has published in numerous areas including science policy, cybersecuri ...
, defined
liveness Properties of an execution of a computer program —particularly for concurrent and distributed systems— have long been formulated by giving ''safety properties'' ("bad things don't happen") and ''liveness properties'' ("good things do happen"). ...
(as opposed to
safety Safety is the state of being "safe", the condition 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 There are two slightly dif ...
), contributions to assertional methods for developing concurrent and distributed programs *
Jacob T. Schwartz __NOTOC__ Jacob Theodore "Jack" Schwartz (January 9, 1930 – March 2, 2009) was an American mathematician, computer scientist, and professor of computer science at the New York University Courant Institute of Mathematical Sciences. He was the ...
, designer of
SETL SETL (SET Language) is a very high-level programming language based on the mathematical theory of sets. It was originally developed by (Jack) Jacob T. Schwartz at the New York University (NYU) Courant Institute of Mathematical Sciences in the ...
and Artspeak * Ilya Sergey, for the programming language Scilla and work on *
Ravi Sethi Ravi Sethi (born 1947) is an Indian computer scientist retired from executive roles at Bell Labs and Avaya Labs. He also serves as a member of the National Science Foundation's Computer and Information Science and Engineering (CISE) Advisory Co ...
, best known as co-author of the Dragon Book, 1996
ACM Fellow ACM or A.C.M. may refer to: Aviation * AGM-129 ACM, 1990–2012 USAF cruise missile * Air chief marshal * Air combat manoeuvring or dogfighting * Air cycle machine * Arica Airport (Colombia) (IATA: ACM), in Arica, Amazonas, Colombia Computing * ...
for contributions to compiler technology, computer programming languages, ... *
Viral B. Shah Viral B Shah ( hi, वीराल बी. शाह, link=no) is an Indian computer scientist, best known for being a co-creator of the Julia programming language. He was also actively involved in the initial design of the Aadhaar project in Ind ...
, the 2019 J. H. Wilkinson Prize for Numerical Software for the co-development of the
Julia Julia is usually a feminine given name. It is a Latinate feminine form of the name Julio and Julius. (For further details on etymology, see the Wiktionary entry "Julius".) The given name ''Julia'' had been in use throughout Late Antiquity (e.g ...
programming language *
Brian Cantwell Smith Brian Cantwell Smith is a philosopher and cognitive scientist working in the fields of cognitive science, computer science, information studies, and philosophy, especially ontology. His research has focused on the foundations and philosophy o ...
, introduced the notion of computational reflection in
programming languages A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
*
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 (CHI) de ...
, co-developer of the visual programming language called 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
compilers In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
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 o ...
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. Guy Lewis Steele Jr. (; born October 2, 1954) is an American computer scientist who has played an important role in designing and documenting several computer programming languages and technical standards. Biography Steele was born in Missouri ...
, co-designer of Scheme and designer of Fortress, ACM SIGPLAN 1997 PL Achievement Award *
Alexander Stepanov Alexander Alexandrovich Stepanov (russian: Алекса́ндр Алекса́ндрович Степа́нов; born November 16, 1950, Moscow) is a Russian-American computer programmer, best known as an advocate of generic programming and as th ...
, advocate of
generic programming Generic programming is a style of computer programming in which algorithms are written in terms of types ''to-be-specified-later'' that are then ''instantiated'' when needed for specific types provided as parameters. This approach, pioneered b ...
, the primary designer and implementer of the C++ Standard Template Library *
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. ...
, co-designer of
CPL (programming language) CPL or Cpl may refer to: Organizations * CPFL Energia (NYSE: CPL), the largest non state-owned group of electric energy generation and distribution in Brazil * CPL Aromas, a British fragrance company formerly known as Contemporary Perfumers Limit ...
, father of Denotational semantics *
Bjarne Stroustrup Bjarne Stroustrup (; ; born 30 December 1950) is a Danish computer scientist, most notable for the invention and development of the C++ programming language. As of July 2022, Stroustrup is a professor of Computer Science at Columbia University ...
, the 2015 AITO Dahl-Nygaard Prize for the design, implementation, and evolution of
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
and
IEEE Computer Society The Institute of Electrical and Electronics Engineers (IEEE) is a 501(c)(3) professional association for electronic engineering and electrical engineering (and associated disciplines) with its corporate office in New York City and its operation ...
2018 Computer Pioneer Award *
Gerald Jay Sussman Gerald Jay Sussman (born February 8, 1947) is the Panasonic Professor of Electrical Engineering at the Massachusetts Institute of Technology (MIT). He received his S.B. and Ph.D. degrees in mathematics from MIT in 1968 and 1973 respectively. H ...
, 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 Sci ...
, developed a two-dimensional
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
for manipulating graphical data, participated in the development of Smalltalk and
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
* Don Syme, creator of F#


T

*
Tim Teitelbaum (Ray) Tim Teitelbaum (born April 12, 1943, United States) is an American computer scientist known for his early work on Integrated development environment, integrated development environments (IDEs), Structure editing, syntax-directed editing, an ...
, co-developed the early (1978) IDE ''the Cornell Program Synthesizer'', co-founded
GrammaTech GrammaTech is a software-development tools vendor based in Bethesda, Maryland with a research center based in Ithaca, New York. The company was founded in 1988 as a technology spin-off of Cornell University. GrammaTech is a provider of application ...
, which developed
CodeSonar CodeSonar is a static code analysis tool from GrammaTech. 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 C, C++ ...
, 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++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
, C#, and
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
*
Warren Teitelman Warren Teitelman (1941 – August 12, 2013) was an American computer scientist known for his work on programming environments and the invention and first implementation of concepts including Undo, Undo / Redo, spelling correction, advising, online ...
, for BBN LISP, 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, ...
*
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, the 1983 Turing Award *
Mads Tofte Mads Tofte (born 20 April 1959) is a Danish computer scientist who has contributed in particular to functional programming and the Standard ML programming language. Education Tofte was born in Lyngby, Denmark and grew up in Holbæk, Denmark. ...
, co-author of the Definition of Standard ML,
region inference In computer science, region-based memory management is a type of memory management in which each allocated object is assigned to a region. A region, also called a zone, arena, area, or memory context, is a collection of allocated objects that ca ...
, POPL 1994 Most Influential Paper Award * Emina Torlak, received the 2021 ACM SIGPLAN Robin Milner Young Researcher Award for leading work in automated verification * David A. Turner, 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 d ...
, the 2020 Turing Award 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 The self is an individual as the object of that individual’s own reflective consciousness. Since the ''self'' is a reference by a subject to the same subject, this reference is necessarily subjective. The sense of having a self—or ''selfhoo ...
has had a profound effect on the field by introducing the advanced adaptive compilation 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 Robin Milner Young Researcher Award *
John Vlissides John Matthew Vlissides (August 2, 1961 – November 24, 2005) was a software engineer known mainly as one of the four authors (referred to as the Gang of Four) of the book '' Design Patterns: Elements of Reusable Object-Oriented Software''. Vlissi ...
, one of the Gang of Four, the 2006 AITO Dahl-Nygaard Prize, for ... their book '' Design Patterns: ...'', ACM SIGPLAN 2005 PL Achievement Award *
Victor A. Vyssotsky Victor Alexander Vyssotsky (russian: Виктор Александрович Высотский; February 26, 1931 - December 24, 2012 in Orleans, Massachusetts) son of the astronomers Alexander N. Vyssotsky (Russian) and Emma Vyssotsky ( Americ ...
, 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 s ...


W

* Eiiti Wada, member of a team that designed
ALGOL N ALGOL N (''N'' for ''Nippon'' – Japan in Japanese) is the name of a successor programming language to ALGOL 60, designed in Japan with the goal of being as simple as ALGOL 60 but as powerful as ALGOL 68. The language was proposed by Nobuo Yoned ...
as a proposed successor to ALGOL 60, but it was not chosen for what became
ALGOL 68 ALGOL 68 (short for ''Algorithmic Language 1968'') is an imperative programming language that was conceived as a successor to the ALGOL 60 programming language, designed with the goal of a much wider scope of application and more rigorously d ...
; he later became a member of IFIP Working Group 2.1 *
Philip Wadler Philip Lee Wadler (born April 8, 1956) is an American computer scientist known for his contributions to programming language design and type theory. He is the chair of Theoretical Computer Science at the Laboratory for Foundations of Computer ...
, 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 has pioneered a number of programming lan ...
, involved in adding
generic Generic or generics may refer to: In business * Generic term, a common name used for a range or class of similar things not protected by trademark * Generic brand, a brand for a product that does not have an associated brand or trademark, other ...
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 and author. He created the Perl programming language. Personal life Wall grew up in Los Angeles and then Bremerton, Washington, before starting higher education at ...
, designer of
Perl Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was offic ...
*
Mitchell Wand Mitchell Wand is a computer science professor at Northeastern University. He received his Ph.D. from Massachusetts Institute of Technology. His research has centred on programming languages and he is a member of the Northeastern Programming Resea ...
works on
semantics Semantics (from grc, σημαντικός ''sēmantikós'', "significant") is the study of reference, meaning, or truth. The term can be used to refer to subfields of several distinct disciplines, including philosophy, linguistics and comp ...
of
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
s, co-author of
Essentials of Programming Languages ''Essentials of Programming Languages'' (''EOPL'') is a textbook on programming languages by Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes. EOPL surveys the principles of programming languages from an operational perspective. It ...
*
John Warnock John Edward Warnock (born October 6, 1940) is an American computer scientist and businessman best known for co-founding Adobe Systems Inc., the graphics and publishing software company, with Charles Geschke. Warnock was President of Adobe for ...
, the 1989 ACM Software System Award for PostScript * David Warren, wrote the first compiler for
Prolog Prolog is a logic programming language associated with artificial intelligence and computational linguistics. Prolog has its roots in first-order logic, a formal logic, and unlike many other programming languages, Prolog is intended primarily ...
, designed the Warren Abstract Machine (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 Res ...
, co-invented the Static single-assignment form, the ACM SIGPLAN 2006 PL Achievement Award *
Peter Wegner Peter A. Wegner (August 20, 1932 – July 27, 2017) was a computer scientist who made significant contributions to both the theory of object-oriented programming during the 1980s and to the relevance of the Church–Turing thesis for empirical ...
, seminal work with Cardelli in OO programming: ''On Understanding Types'' * Peter J. Weinberger, contributed to the
AWK programming language AWK (''awk'') is a domain-specific language designed for text processing and typically used as a data extraction and reporting tool. Like sed and grep, it is a filter, and is a standard feature of most Unix-like operating systems. The AWK lang ...
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 an open-source native code compiler for the functional programming language Haskell. It provides a cross-platform environment for the writing and testing of Haskell code and it supports numerous extensions, ...
; the 2016 ACM SIGPLAN Robin Milner Young Researcher Award * David J. Wheeler, the IEEE Computer Society 1985 Computing Pioneer Award for Assembly language programming * Jennifer Widom, for her PhD thesis on trace-based network proof systems *
Adriaan van Wijngaarden Adriaan "Aad" van Wijngaarden (2 November 1916 – 7 February 1987) was a Dutch mathematician and computer scientist. Trained as an engineer, Van Wijngaarden would emphasize and promote the mathematical aspects of computing, first in numerical an ...
, a designer of ALGOL 60 and
ALGOL 68 ALGOL 68 (short for ''Algorithmic Language 1968'') is an imperative programming language that was conceived as a successor to the ALGOL 60 programming language, designed with the goal of a much wider scope of application and more rigorously d ...
, developed the two-level
Van Wijngaarden grammar In computer science, a Van Wijngaarden grammar (also vW-grammar or W-grammar) is a two-level grammar which provides a technique to define potentially infinite context-free grammars in a finite number of rules. The formalism was invented by Adriaa ...
, 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 computati ...
s *
Jeannette Wing Jeannette Marie Wing is Avanessians Director of the Data Science Institute at Columbia University, where she is also a professor of computer science. Until June 30, 2017, she was Corporate Vice President of Microsoft Research with oversight of i ...
, early work included ''A behavioral notion of subtyping'', influential in the field as Corporate Vice President of Microsoft Research and later as
Columbia University Columbia University (also known as Columbia, and officially as Columbia University in the City of New York) is a private research university in New York City. Established in 1754 as King's College on the grounds of Trinity Church in Manhatt ...
executive vice president for research *
Niklaus Wirth Niklaus Emil Wirth (born 15 February 1934) is a Swiss computer scientist. He has designed several programming languages, including Pascal, and pioneered several classic topics in software engineering. In 1984, he won the Turing Award, generally ...
, the 1984 Turing Award for developing a sequence of innovative computer languages, EULER,
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 and ...
, 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 modul ...
, and
Oberon Oberon () is a king of the fairies in 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, Queen of the Fairi ...
*
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 science, mathematics, and theoretical physics. In 2012, he was named a fellow of the American Ma ...
, creator of Mathematica and
Wolfram Language The Wolfram Language ( ) is a general multi-paradigm programming language developed by Wolfram Research. It emphasizes symbolic computation, functional programming, and rule-based programming and can employ arbitrary structures and data. It ...
* Mike Woodger, influential in the design of software and languages, including ALGOL 60 and
Ada Ada may refer to: Places Africa * Ada Foah, a town in Ghana * Ada (Ghana parliament constituency) * Ada, Osun, a town in Nigeria Asia * Ada, Urmia, a village in West Azerbaijan Province, Iran * Ada, Karaman, a village in Karaman Province, ...
* Philip Woodward, designed
Coral 66 Corals are marine invertebrates within the class Anthozoa of the phylum Cnidaria. They typically form compact colonies of many identical individual polyps. Coral species include the important reef builders that inhabit tropical oceans and se ...
; his computer team developed the first implementation of
ALGOL 68 ALGOL 68 (short for ''Algorithmic Language 1968'') is an imperative programming language that was conceived as a successor to the ALGOL 60 programming language, designed with the goal of a much wider scope of application and more rigorously d ...
,
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 Federation ...
*
William Wulf William Allan Wulf (born December 8, 1939) is a computer scientist notable for his work in programming languages and compilers. Until June 2012, he was a university professor and the AT&T Professor of Engineering and Applied Sciences in the Depart ...
, 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 b ...
, wrote an
optimizing compiler In computing, an optimizing compiler is a compiler that tries to minimize or maximize some attributes of an executable computer program. Common requirements are to minimize a program's execution time, memory footprint, storage size, and power cons ...
for it, co-founded the compiler technology company Tartan, Inc.


Y

* Katherine Yelick, known for her work in
Partitioned global address space In computer science, partitioned global address space (PGAS) is a parallel programming model paradigm. PGAS is typified by communication operations involving a global memory address space abstraction that is logically partitioned, where a portio ...
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 memory ...
*
Andrey Yershov Andrey Petrovich Yershov (russian: Андре́й Петро́вич Ершо́в; 19 April 1931, Moscow – 8 December 1988, Moscow) was a Soviet Union, Soviet computer scientist, notable as a pioneer in systems programming and programming lan ...
, theory, design, and implementation of programming languages (ALPHA, BETA,
Rapira : ''Rapira is also a name for the Soviet 100 mm anti-tank gun T-12 Rapira (russian: Рапира, rapier) is an educational procedural programming language developed in the Soviet Union and implemented on the Agat computer, PDP-11 clones (Electr ...
), partial evaluation *
Nobuo Yoneda was a Japanese mathematician and computer scientist. In 1952, he graduated the Department of Mathematics, the Faculty of Science, the University of Tokyo, and obtained his Bachelor of Science. That same year, he was appointed Assistant Profess ...
, member of a team that designed
ALGOL N ALGOL N (''N'' for ''Nippon'' – Japan in Japanese) is the name of a successor programming language to ALGOL 60, designed in Japan with the goal of being as simple as ALGOL 60 but as powerful as ALGOL 68. The language was proposed by Nobuo Yoned ...
as a proposed successor to ALGOL 60, but it was not chosen for what became
ALGOL 68 ALGOL 68 (short for ''Algorithmic Language 1968'') is an imperative programming language that was conceived as a successor to the ALGOL 60 programming language, designed with the goal of a much wider scope of application and more rigorously d ...
; a member of IFIP Working Group 2.1 *
Akinori Yonezawa is a Japanese computer scientist specializing in object-oriented programming, distributed computing and information security. Being a graduate of the University of Tokyo, Yonezawa has a Ph.D in computer science from MIT in the Actor group at t ...
, the 2008 AITO Dahl-Nygaard Prize for "his overall contribution to both theory and practice of concurrent OO languages...", designer ABCL/R, a reflective 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 Vienna Lab, 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 developed and published by IBM. It is designed for scientific, engineering, business and system programming. I ...
* Jaap A. Zonneveld, he and Edsger W. Dijkstra wrote the first Algol 60 compiler


See also

*
Programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
*
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 This is a list of programmers notable for their contributions to software, either as original author or architect, or for later additions. All entries must already have associated articles. A *Michael Abrash – program optimization and x86 ...


References


External links


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