The following is list of researchers of programming language theory, design, implementation, and related areas.
A
edit- Martín Abadi, for the programming language Baby Modula-3 and his book (with Luca Cardelli) A Theory of Objects
- Samson Abramsky, contributions to the areas of the lazy lambda calculus and concurrency theory and co-editing the 6 Volume Handbook of Logic in Computer Science
- Jean-Raymond Abrial, father of the Z notation and the B-Method, _targeted at the clear specification and refinement of computer programs and computer-based systems in general
- Vikram Adve, the 2012 ACM Software System Award for LLVM, a set of compiler and toolchain technologies
- Gul Agha, elected as an ACM Fellow in 2018 for research in concurrent programming and formal methods, specifically the Actor Model
- Alfred Aho, 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, especially well-known because of his compiler books, the Modern Compiler Implementation in ML (ISBN 0-521-58274-1) series, as well as Compiling With Continuations (ISBN 0-521-41695-7)
- Krzysztof R. Apt, the use of logic as a programming language
- Bruce Arden, co-authored two compilers, GAT[1] for the IBM 650 and MAD
- Arvind, see Arvind Mithal
- Lennart Augustsson, languages (Lazy ML, Cayenne), compilers (HBC Haskell, parallel Haskell front end, Bluespec SystemVerilog early)
B
edit- 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, 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, the 2018 AITO Dahl–Nygaard Prize for pioneering work in pointer-safe object-orientation and leading the implementation of Beta, Self, Strongtalk, Java Hotspot, ..., the ACM SIGPLAN 2016 PL Software Award[2] for V8 Javascript
- Henri Bal, programming languages for distributed systems, e.g. Orca[3]
- Friedrich L. Bauer, proposed the stack method of expression evaluation, member of the ALGOL 60 Committee, see also[4]
- Kent Beck, a leading proponent of test-driven development (TDD), pioneered software design patterns, and co-wrote JUnit for Java
- Jeff Bezanson, the 2019 J. H. Wilkinson Prize for Numerical Software for the co-development of the Julia language
- Dines Bjørner, the Vienna Development Method (VDM), the Raise specification language
- Daniel Bobrow, 1992 ACM Software System Award for the IDE named Interlisp
- Corrado Böhm, defined Böhm's language, the first meta-circular evaluator, contributed the structured program theorem
- Grady Booch, developer of Unified Modeling Language (UML)
- Kathleen Booth, designed and developed first assembly language
- Stephen R. Bourne, developed ALGOL 68C, member IFIP Working Group 2.1 on Algorithmic Languages and Calculi
- Gilad Bracha, the 2017 AITO Dahl–Nygaard Prize for outstanding work on many topics relevant to OO, including mixins, Java generics, Strongtalk, and Newspeak
- Larry Breed, 1973 Grace Murray Hopper Award for designing and implementing APL\360
- Walter Bright, designer of D
- Per Brinch Hansen (surname "Brinch Hansen"), the IEEE Computer Society 2002 Computer Pioneer Award for ... Concurrent Pascal
- Kim Bruce, the 2021 AITO Dahl–Nygaard Prize for ... programming language theory and design in general and object orientation specifically[5]
- Margaret Burnett, pioneering contributions to visual programming languages
- Rod Burstall, languages COWSEL (renamed POP-1), POP-2, NPL, Hope; ACM SIGPLAN 2009 PL Achievement Award[6]
- Richard Burton, the 1992 ACM Software System Award for the IDE called Interlisp
C
edit- Luca Cardelli, research in type theory and operational semantics, helped develop Modula-3 and Polyphonic C#, first compiler for ML, the 2007 AITO Dahl–Nygaard Prize, "POPL 2000 Most Influential Paper Award".
- Craig Chambers, the 2011 AITO Dahl–Nygaard Prize for the design of Cecil and his work on compiler techniques used to implement OO languages ...
- John Chambers, the 1998 ACM Software System Award for the programing language S
- K. Mani Chandy, contributions to the verification of parallel programming languages, including the language UNITY
- Alonzo Church, the Lambda calculus; considered a founder of computer science
- 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, creator of Prolog
- Richard W. Conway, for the introductory languages CORC and CUPL and the student-oriented dialect PL/C; for extensive error correction so that every program compiled
- William Cook, chief architect of AppleScript, the 2014 AITO Dahl–Nygaard Prize for contributions to the theory and practice of OO programming[5]
- Keith Cooper, research on programming languages, compilers, optimization, and static analysis
- Thierry Coquand, ACM SIGPLAN 2013 PL Software Award[2] and the 2015 ACM Software System Award for Coq
- Patrick Cousot, for contributions to programming languages through the co-invention of abstract interpretation, ACM SIGPLAN 2013 PL Achievement Award[6]
- Radhia Cousot, for contributions to programming languages through the co-invention of abstract interpretation, ACM SIGPLAN 2013 PL Achievement Award[6]
- 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
edit- Ole-Johan Dahl, the 2001 Turing Award for ideas fundamental to the emergence of OO programming, through [the] design of the programming languages Simula I and 67
- Olivier Danvy specializes in programming languages, partial evaluation, and continuations
- John Darlington, work on program transformation and functional programming, including NPL and Hope+
- L. Peter Deutsch, first implementation of TRAC (on the PDP-1), first REPL, PhD thesis on an interactive program verifier, the 1992 ACM Software System Award for the IDE called Interlisp
- Edsger W. Dijkstra, first ALGOL 60 compiler, weakest preconditions, the 1972 Turing Award for fundamental contributions to developing programming languages
- Damien Doligez, co-developer and implementor of OCaml, especially its garbage collector
- Sophia Drossopoulou, formal methods for programming languages, proof of the soundness of Java
E
edit- Wim Ebbinkhuijsen, one of the fathers of COBOL, designed and rewrote dozens of parts of the current COBOL standard
- Alan Edelman, the 2019 Sidney Fernbach Award for ... and for contributions to the Julia programming language
- Brendan Eich, designer of JavaScript
- Andrey Ershov, see Andrey Yershov
F
edit- Mahmoud Samir Fayed, creator of PWCT and Ring
- Matthias Felleisen, ACM SIGPLAN 2018 PL Software Award[2] for Racket, ACM SIGPLAN 2012 PL Achievement Award[6]
- Jeanne Ferrante, developed the Program dependence graph, ACM SIGPLAN 2006 PL Achievement Award[6]
- Robby Findler, thesis on linguistics of software contracts, the ACM SIGPLAN 2018 PL Software Award[2] for Racket, design/implementation of Redex, a workbench for semantics engineers
- Keno Fischer, a core member implementing the Julia programming language,
- Matthew Flatt, ACM SIGPLAN 2018 PL Software Award[2] 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
- Yoshihiko Futamura, partial evaluation, especially Futamura projections
G
edit- Richard P. Gabriel, for work on Lisp, and especially Common Lisp; the 2004 ACM-AAAI Allen Newell Award[7] for innovations in programming languages and software design ...
- Bernard Galler, involved in the development of computer languages, including MAD
- Erich Gamma, co-wrote the JUnit software testing framework; one of the Gang of Four, the 2006 AITO Dahl–Nygaard Prize, for ... their book Design Patterns: ..., ACM SIGPLAN 2005 PL Achievement Award[6]
- Charles Geschke, co-author of The Design of an Optimizing Compiler, the 1989 ACM Software System Award for PostScript
- Jeremy Gibbons,[8] generic programming and functional programming, member of IFIP Working Group 2.1 on Algorithmic Languages and Calculi, which supports and maintains ALGOL 60 and ALGOL 68
- Seymour Ginsburg, fundamental work in formal languages and abstract family of languages
- Adele Goldberg, the 1987 ACM Software System Award for Smalltalk
- Andrew Gordon, co-designer of Concurrent Haskell, co-inventor of the ambient calculus for reasoning about mobile code, designed SecPAL
- James Gosling, the 2002 ACM Software System Award for Java
- Robert Graham, co-authored two compilers, GAT[1] for the IBM 650 and MAD
- Susan Graham, the 2009 IEEE John von Neumann Medal for "contributions to PL design and implementation ...", member NAE,[9] ACM SIGPLAN 2000 PL Achievement Award[6]
- Cordell Green, the 1985 Grace Murray Hopper Award for establishing the theoretical basis of the field of logic programming
- Sheila Greibach, grammar theory, Greibach normal form
- David Gries, first text on writing compilers,[10][11] contributions to semantics of programming language constructs, e.g. Interference freedom and[12]
- Robert Griesemer, co-designer of Go
- Ralph Griswold, designer of SNOBOL, SL5, and Icon
- Jürg Gutknecht, co-developer of the language Oberon, developer of the language Zonnon
- John Guttag, co-developer of the Larch family of formal specification languages and the Larch Prover (LP)
- Michael Guy, co-author of ALGOL 68C
H
edit- Nico Habermann, co-designer of BLISS
- Robert Harper, contributions to Standard ML and the LF logical framework, ACM SIGPLAN 2021 PL Achievement Award[6] for foundational contributions to type theory
- Eric Hehner, for predicative programming, a formal method for specification and refinement
- Anders Hejlsberg, original author of Turbo Pascal, chief architect of C#
- Laurie Hendren, continuous and significant contributions for 30+ years to the field of OO programming languages and compiling
- Thomas Henzinger, received the 2015 Milner Award for "fundamental advances in the theory and practice of formal verification and synthesis of reactive, real-time, and hybrid computer systems"
- Maurice Herlihy, 2003, 2012, and 2022 Dijkstra Prizes, one for work on transactional memory
- Rich Hickey, designer of Clojure
- Tony Hoare, 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, the Turing programming language, contributions to Grok, Euclid, SP/k, and S/SL
- Urs Hölzle, co-implemented Strongtalk, a Smalltalk environment with optional static typing support, later became Googles first Vice President of Engineering
- Grace Hopper, co-designer of COBOL
- Jim Horning, interests included programming languages, programming methodology, specification; co-developer of the Larch approach to formal specification
- Susan B. Horwitz, noted for research on programming languages and software engineering, and in particular on program slicing and dataflow-analysis
- Paul Hudak, known for involvement in designing the language Haskell, and for several textbooks on it and computer music
- Gérard Huet, ACM SIGPLAN 2013 PL Software Award[2] and the 2015 ACM Software System Award for the Coq proof assistant
- John Hughes, PhD thesis The Design and Implementation of Programming Languages.,[13] co-developer of the QuickCheck software library, 2018 ACM Fellow for contributions to software testing and functional programming
- Roger Hui, co-developed the language J
I
edit- Jean Ichbiah, designer the system implementation programming language called LIS, initial chief designer of Ada
- Roberto Ierusalimschy, designer of Lua
- Dan Ingalls, 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
edit- Daniel Jackson, principal designer of the Alloy 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
- 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[6]
- Cliff Jones, the Vienna Development Method (VDM), rely-guarantee—compositional interference freedom[14]
- Neil D. Jones, work on partial evaluation, ACM SIGPLAN 2014 PL Achievement Award[6]
- Simon Peyton Jones, for work in functional programming languages and lazy evaluation; codesigner of Haskell; 2011 Programming Languages Software Award for the Glasgow Haskell Compiler (GHC)
K
edit- Gilles Kahn, coroutines and networks of processes[15]
- Ted Kaehler, co-implementer of Smalltalk
- Ronald Kaplan, the 1992 ACM Software System Award for the IDE called Interlisp
- Stefan Karpinski, the 2019 J. H. Wilkinson Prize for Numerical Software for the co-development of the Julia programming language
- Alan Kay, 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
- John G. Kemeny, co-designer and developer the first BASIC language
- Ken Kennedy, the McDowell Award for contributions to compiler optimization and ..., ACM SIGPLAN 1999 PL Achievement Award[6]
- Brian Kernighan, co-designer of AWK and AMPL, co-author of "The C Programming Language", promoter and designer of "little languages": Eqn, Pic, Grap
- Gregor Kiczales, the 2012 AITO Dahl–Nygaard Prize, for his work on CLOS and the MOP and for spearheading aspect-orientation and AspectJ
- Ken Knowlton. computer graphics pioneer, created BEFLIX for making movies and L6,[16] which introduced postfix field selection to list processing
- Donald Knuth, 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, creator of affix grammars, creator of the original Compiler Description Language (CDL)
- Robert Kowalski, the 2011 IJCAI Award for Research Excellence for ... pioneering work on ... logic programming; introduced SLD resolution, which is used in the implementation of the logic programming language Prolog
- Dexter Kozen, one of the fathers of dynamic logic, an extension of modal logic capable of encoding properties of computer programs
- Shriram Krishnamurthi, developed Flapjax, ACM SIGPLAN 2018 PL Software Award[2] for Racket, the 2012 ACM SIGPLAN Robin Milner Young Researcher Award[17]
- David Kuck, the IEEE Computer Society 2011 Computer Pioneer Award for revolutionary parallel compiler technology including Parafrase (in 1977)[18] and KAP Tools
- Thomas E. Kurtz, co-designer and developer the first BASIC language
L
edit- Monica S. Lam, contributed to a wide range of topics including compilers and program analysis, received the ACM Most Influential PLDI Paper Award in 2001[19][20]
- Leslie Lamport, creator of the formal specification language TLA+ and much more, the 2013 Turing Award
- Peter Landin used the lambda calculus to model ISWIM, in doing so defined the off-side rule and coined the term syntactic sugar; active in defining ALGOL
- Richard H. Lathwell, the 1973 Grace Murray Hopper Award for the design and implementation of APL\360
- Chris Lattner, designer of Swift, ACM SIGPLAN 2010 PL Software Award[2] and the 2012 ACM Software System Award for LLVM, a set of compiler and toolchain technologies
- John Launchbury, lazy functional languages, contributing designer of Haskell, directed development of the domain-specific language named Cryptol
- Harold Lawson, the IEEE Computer Society 2000 Computer Pioneer Award for inventing the pointer variable and introducing this concept into PL/I
- Doug Lea, the 2010 AITO Dahl–Nygaard Prize, for tireless advocacy of object-oriented techniques, contributions to concurrent programming in Java, and ...
- Peter Lee, PhD thesis: The automatic generation of realistic compilers from high-level semantic descriptions; as of 2022, Microsoft Corporate Vice President, Research and Incubations
- Rasmus Lerdorf, father of PHP
- Xavier Leroy, the 2016 Milner Award for exceptional achievements in programming including OCaml, ACM SIGPLAN 2021 PL Software Award[2]
- Charles H. Lindsey, co-editor of the Revised Report on Algol 68, designed an implemented ALGOL 68S, a subset of Algol 68, wrote the complete History of ALGOL 68 in[21]
- Barbara Liskov, 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,[22] book on systematic program design[23]
- Peter Lucas, formal definition of PL/I, the Vienna Development Method (VDM), work on the functional programming language FL
- David Luckham, contributions to Lisp and verification of Pascal; cofounder of the Ada compiler
M
edit- Simon Marlow, ACM SIGPLAN 2011 PL Software Award[2] for the Glasgow Haskell Compiler
- Larry Masinter, the 1992 ACM Software System Award for the IDE named Interlisp
- Yukihiro Matsumoto, designer of Ruby
- David May, lead designer of occam
- Conor McBride, researches type theory, functional programming; with James McKinna, cocreated Epigram (programming language); member IFIP Working Group 2.1 on Algorithmic Languages and Calculi
- John McCarthy, the Lisp family of programming languages, the 1971 Turing Award
- Douglas McIlroy, pioneering researcher of macro processors and programming language extensibility, contributed to designing PL/I, SNOBOL, ALTRAN, TMG, C++
- Kathryn S. McKinley, research on compilers, runtime systems, and computer architecture, introduced the Hoard C/C++ Memory Allocator, the ACM SIGPLAN 2012 PL Software Award[2] for Jikes RVM
- Lambert Meertens, co-designer of ABC, the incidental predecessor of Python; co-designer of the Bird–Meertens formalism; co-editor of the Revised ALGOL 68 Report
- Erik Meijer, works on functional programming (particularly Haskell), compiler implementation, parsing, and programming language design
- Bertrand Meyer, created Eiffel and advocated design by contract, awarded the 2005 AITO Dahl–Nygaard Prize
- Harlan Mills, the IEEE Computer Society 1994 Computer Pioneer Award for structured programming
- Robin Milner, 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, contributions to concurrent programming, including the languages UNITY and "Orc".
- James G. Mitchell, work on the WATFOR compiler, languages Mesa and Euclid, PhD thesis on The design and construction of flexible and efficient interactive programming systems
- John C. Mitchell explored the connection between existential types and abstract data types and played a pivotal role in developing type theory as a foundation for programming languages
- Arvind Mithal, for parallel languages Id and pH, compiling on parallel machines, and language Bluespec SystemVerilog (BSV)
- Calvin Mooers, the language TRAC
- Charles H. Moore (Chuck), the language Forth
- Roger D. Moore, implemented ALGOL 60, the 1973 Grace Murray Hopper Award for the design and implementation APL\360
- Carroll Morgan, known proponent of the refinement calculus approach to program development; authored the book Programming from Specifications
- James H. Morris developed two underlying principles of programming languages, inter-module protection and lazy evaluation, and led the Cedar programming environment project
- Greg Morrisett, worked on type systems and proof-carrying code and provably secure systems, created Cyclone, POPL 1998 Most Influential Paper Award[24] for applying type system ideas to low level programming
- J. Eliot B. Moss, active in the fields of garbage collection and multiprocessor synchronization, co-inventor of transactional memory
- Alan Mycroft, research in programming languages, co-created the Norcroft C compiler
- Brad A. Myers, for the Natural Programming project, focusing on programming languages programming languages and making programming easier and more correct by making it more natural.[25]
N
edit- Peter Naur, the 2005 Turing Award for fundamental contributions to programming language design and the definition of ALGOL 60, to compiler design, and to ...
- George Necula, POPL 1997 and 2002 Most Influential Paper Award[24] for proof-carrying code and type-safe retrofitting of legacy code
- Bruce Nelson, the 1994 ACM Software System Award for the remote procedure call concept
- Greg Nelson, PhD thesis Techniques for Program Verification, co-designer of Modula-3, the 2013 Herbrand Award for pioneering contributions to theorem proving and program verification ...
- Oscar Nierstrasz, the 2013 AITO Dahl–Nygaard Prize for ... contributions ... aimed at making systems more flexible with respect to changing requirements, based on programming languages and mechanisms supporting software evolution
- Maurice Nivat, research in formal languages and programming language semantics; received the 2002 EATCS award
- James Noble, the 2016 AITO Dahl–Nygaard Prize for a world-leading reputation for work on object-orientation; did pioneering work in novel type systems for programming languages
- Kristen Nygaard, the 2001 Turing Award for ideas fundamental to the emergence of OO programming, through [the] design of Simula I and 67
O
edit- Martin Odersky, provided basis for javac, co-developed Generics in Java, ACM SIGPLAN 2019 PL Software Award[2] for Scala
- Peter O'Hearn, known for separation logic, co-developed the static program analysis utility Infer Static Analyzer, 2001 Most Influential Paper Award[24]
- John Ousterhout, the 1997 ACM Software System Award for Tcl/Tk
- Susan Owicki, contributions to semantics, e.g. Interference freedom and[26]
P
edit- Krishna Palem, the 2008 McDowell Award, for pioneering contributions to the algorithmic, compilation, and architectural foundations of embedded computing
- David Park, worked on the first implementation of Lisp, an authority on the topics of fairness, program schemas and bisimulation in concurrent computing
- David Parnas, developed information hiding, an important element of OO programming today.
- Christine Paulin-Mohring, ACM SIGPLAN 2013 PL Software Award[2] and the 2015 ACM Software System Award for Coq
- Manfred Paul, Thesis: On the Structure of Formal Languages (1962, German); co-developer of Alcor-Illinois ALGOL 60 compiler
- 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, the incidental predecessor of Python; contributing author of HyperText Markup Language (HTML)
- Alan Perlis, first Turing Award recipient, 1966, for ... and compiler construction, ALGOL 58
- Carl Adam Petri, the IEEE Computer Society 2008 Computer Pioneer Award for Petri net 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 titled Types and Programming Languages
- Rob Pike, co-designer of Newsqueak, Limbo, and Go
- Keshav K Pingali, 2023 Computer Society Charles Babbage Award, for contributions to high-performance compilers and graph computing
- Gordon Plotkin, for structural operational semantics (SOS) and denotational semantics; the 2012 Milner Award, the ACM SIGPLAN 2010 PL Achievement Award[6]
- 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, COWSEL (renamed POP-1), POP-2, POP-11 languages, Poplog IDE; Freddy II robot
- Cicely Popplewell, co-designer of software for Manchester Mark 1
- Vaughan Pratt, developed dynamic logic, used in formal verification of programs, and Pratt parsing, used in his syntax CGOL for Lisp
- William Pugh, co-author of the static code analysis tool FindBugs, influential in the development of the Java Memory Model
R
edit- George Radin, first among equals designing PL/I
- Brian Randell, in 1964, implemented the Algol 60 Whetstone compiler[27]
- John Reif, the Proteus language and system for the development of parallel applications[28]
- Thomas W. Reps, co-developed the early (1978) IDE the Cornell Program Synthesizer,[29] co-founded GrammaTech, which developed CodeSonar, ACM SIGPLAN 2017 PL Achievement Award[6]
- Mitchel Resnick, developed the visual programming language called Scratch
- John C. Reynolds, invented polymorphic lambda calculus (System F), clarified early work on continuations, introduced defunctionalization, worked on a separation logic, ACM SIGPLAN 2003 PL Achievement Award[6]
- Martin Richards, the IEEE Computer Society 2003 Computer 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 for driving numerical control, designed and implemented ALGOL X
- Guido van Rossum, designer of Python
- Barbara G. Ryder, extensive work on Java and Javascript, e.g.[30][31]
S
edit- Klaus Samelson, pioneer in compilers for programming languages and push-pop stack algorithms, Algol 60 Committee, see also[4]
- Jean Sammet, developed FORMAC, one of the developers of COBOL
- Carl Sassenrath, designer and implementor of Rebol
- Fred B. Schneider, defined liveness (as opposed to safety), contributions to assertional methods for developing concurrent and distributed programs[32]
- Jacob T. Schwartz, designer of SETL and Artspeak
- Ilya Sergey, for the language Scilla[33] and work on "Operational Aspects of Type Systems".
- Ravi Sethi, best known as co-author of the Dragon Book, 1996 ACM Fellow for contributions to compiler technology, programming languages, ...
- Viral B. Shah, the 2019 J. H. Wilkinson Prize for Numerical Software for the co-development of the language Julia
- Brian Cantwell Smith, introduced the notion of reflective programming in programming languages
- David Canfield Smith, co-developer of the visual programming language named Stagecast Creator based on the concept of programming by example
- Mary Lou Soffa, research on compilers and program optimization and more, 2012 Ken Kennedy Award
- Richard Stallman, the 2015 ACM Software System Award for the GNU Compiler Collection (GCC)
- Guy L. Steele, Jr., co-designer of Scheme and designer of Fortress, ACM SIGPLAN 1997 PL Achievement Award[6]
- Alexander Stepanov, advocate of generic programming, main designer and implementer of the C++ Standard Template Library
- Christopher Strachey, co-designer of CPL (programming language), father of Denotational semantics
- Bjarne Stroustrup, the 2015 AITO Dahl–Nygaard Prize for the design, implementation, and evolution of C++ and IEEE Computer Society 2018 Computer Pioneer Award
- Gerald Jay Sussman, co-designer of Scheme
- Bert Sutherland, developed a two-dimensional programming language for manipulating graphical data,[34] participated in the development of Smalltalk and Java
- Don Syme, creator of F#
T
edit- Tim Teitelbaum, co-developed the early (1978) IDE the Cornell Program Synthesizer,[29] co-founded GrammaTech, which developed CodeSonar, which performs static analysis on C, C++, C#, and Java
- Warren Teitelman, for BBN LISP, the 1992 ACM Software System Award for the IDE named Interlisp
- Ken Thompson, designer of B, co-designer of Go, Turing Award 1983
- Simon Thompson, functional programming research, textbooks; designs Cardano domain-specific languages: Marlowe
- Mads Tofte, co-author of the Definition of Standard ML, region inference, POPL 1994 Most Influential Paper Award[24]
- Emina Torlak, received the 2021 ACM SIGPLAN Robin Milner Young Researcher Award for leading work in automated verification[17]
- Alan Turing, for the Turing machine; his work is so important that the Turing Award, the "Nobel Prize of Computing," bears his name.
- David A. Turner, designed and implemented SASL, KRC, and Miranda, member of IFIP Working Group 2.1 on Algorithmic Languages and Calculi
U
edit- Jeffrey Ullman, 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 has had a profound effect on the field by introducing the advanced adaptive compiling technology that made the widespread industrial use of Java possible
V
edit- 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[17]
- John Vlissides, one of the Gang of Four, the 2006 AITO Dahl–Nygaard Prize, for ... their book Design Patterns: ..., ACM SIGPLAN 2005 PL Achievement Award[6]
- Victor A. Vyssotsky, co-developed the pioneer dataflow language BLODI (BLOck DIagram). See Dataflow programming
W
edit- Eiiti Wada, member of a team that designed ALGOL N as a proposed successor to ALGOL 60, but it was not chosen for what became ALGOL 68; he later became a member of IFIP Working Group 2.1
- Philip Wadler, co-designer of Haskell, involved in adding generic types to Java 5.0, POPL 1993 Most Influential Paper Award[24]
- Larry Wall, designer of Perl
- Mitchell Wand works on semantics of programming languages, co-author of Essentials of Programming Languages
- John Warnock, the 1989 ACM Software System Award for PostScript
- David Warren, wrote the first compiler for Prolog, designed the Warren Abstract Machine (WAM), the de facto standard _target for Prolog compilers
- Mark Wegman, co-invented the static single-assignment form, the ACM SIGPLAN 2006 PL Achievement Award[6]
- Peter Wegner, seminal work with Cardelli in OO programming: On Understanding Types[35]
- Peter J. Weinberger, contributed to the AWK programming language and the Fortran compiler f77
- Stephanie Weirich work on type inference has been incorporated into the Glasgow Haskell Compiler; the 2016 ACM SIGPLAN Robin Milner Young Researcher Award[17]
- David J. Wheeler, the IEEE Computer Society 1985 Computer Pioneer Award for assembly language programming
- Jennifer Widom, for her PhD thesis on trace-based network proof systems[36]
- Adriaan van Wijngaarden, a designer of ALGOL 60 and ALGOL 68, developed the two-level Van Wijngaarden grammar, expounded continuations
- Jeannette Wing, early work included A behavioral notion of subtyping,[37] influential in the field as Corporate Vice President of Microsoft Research and later as Columbia University executive vice president for research
- Niklaus Wirth, the 1984 Turing Award for developing a sequence of innovative computer languages, Euler, ALGOL W, Pascal, Modula, and Oberon
- Stephen Wolfram, creator of Mathematica and Wolfram Language
- Mike Woodger, influential in the design of software and languages, including ALGOL 60 and Ada[38]
- Philip Woodward, designed CORAL 66; his computer team developed the first implementation of ALGOL 68, ALGOL 68-R
- William Wulf, co-designer of BLISS, wrote an optimizing compiler for it, co-founded the compiler technology company Tartan, Inc.
Y
edit- Katherine Yelick, known for her work in partitioned global address space languages, including co-inventing Unified Parallel C
- Andrey Yershov, theory, design, and implementation of programming languages (ALPHA, BETA, Rapira),[39] partial evaluation
- Nobuo Yoneda, member of a team that designed ALGOL N as a proposed successor to ALGOL 60, but it was not chosen for what became ALGOL 68; a member of IFIP Working Group 2.1
- Akinori Yonezawa, the 2008 AITO Dahl–Nygaard Prize for "his overall contribution to both theory and practice of concurrent OO languages...", designer ABCL/R, a reflective subset of the first concurrent OO programming language ABCL/1
Z
edit- Marvin Zelkowitz, PL features to aid in program development and debugging, tests for runtime correctness of executable code[40][41]
- Heinz Zemanek, managed the IBM Laboratory Vienna, was crucial in its developing a formal definition of PL/I
- Jaap A. Zonneveld, he and Edsger W. Dijkstra wrote the first ALGOL 60 compiler
See also
editReferences
edit- ^ a b Arden, B.; Graham, R. (1959). "On GAT and the construction of translators". Communications of the ACM. 2 (7): 24. doi:10.1145/368370.368373. S2CID 6703069.
- ^ a b c d e f g h i j k l m "Programming Languages Software Award". ACM SIGPLAN. Retrieved 2022-08-29.
- ^ Bal, Henri E.; Kaashoek, M. Frans; Tanenbaum, Andrew S. (1992). "Orca: A language for parallel programming of distributed systems". IEEE Transactions on Software Engineering. 18 (3). IEEE: 190–205. doi:10.1109/32.126768. S2CID 1513191.
- ^ a b Samelson, Klaus; Bauer, Friedrich Ludwig (February 1960). "Sequential Formula Translation". Communications of the ACM. 3 (2): 76–83. doi:10.1145/366959.366968. S2CID 16646147.
- ^ a b "AITO Dahl–Nygaard Prize Winners". Association Internationale pour les Technologies Objets. 2014. Retrieved 2022-08-21.
- ^ a b c d e f g h i j k l m n o p q "Programming Languages AchievementAward". Sigplan.org. Retrieved 2022-08-30.
- ^ "ACM-AAAI Allen Newell Award". ACM. Retrieved 2022-09-07.
- ^ "Jeremy Gibbons: publications". University of Oxford. Retrieved 2022-09-05.
- ^ "NAE members directory". NAE. 1993. Retrieved 2022-08-20.
- ^ Gries, David (1971). Compiler Construction for Digital Computers (in English, Spanish, Japanese, Chinese, Italian, and Russian). New York: John Wiley and Sons. ISBN 0-471-32776-X.
The first text on compiler writing.
- ^ "IBM Punch cards on which the book was written are in the Stanford Museum". Retrieved 11 July 2022.
- ^ Gries, David; Levin, Gary (October 1980). "Assignment and procedure call proof rules". ACM Transactions on Programming Languages and Systems. 2 (4): 564–579. doi:10.1145/357114.357119. S2CID 2639439.
- ^ The Design and Implementation of Programming Languages (PDF), University of Oxford, July 1983, retrieved September 7, 2022
- ^ Jones, C.B. (June 1981). Development Methods for Computer Programs including a Notion of Interference (PDF) (DPhil thesis). Oxford University.
- ^ Gilles Kahn and David MacQueen (1976). Coroutines and Networks of Parallel Processes (Report). INRIA.
- ^ Kenneth C. Knowlton (1966), "A programmer's description of L6", CACM, 9 (8): 616–625, doi:10.1145/365758.365792, S2CID 43669187
- ^ a b c d "Robin Milner Young Researcher Award". SIGPLAN. 2021. Retrieved 2022-08-23.
- ^ Bruce Leasure (2011). "Parafrase". In Padua, D. (ed.). Encyclopedia of Parallel Computing. Springer, Boston, MA. pp. 1407–1409. doi:10.1007/978-0-387-09766-4_434. ISBN 978-0-387-09765-7.
- ^ PLDI is short for Programming Language Design and Implementation
- ^ "Most Influential PLDI Paper Award". SIGPLAN. Retrieved 2022-08-21.
- ^ Lindsey, C. H. (1996). "A History of ALGOL 68". In Bergin, T. J.; Gibson, R. G. (eds.). History of Programming Languages-II. ACM Press. ISBN 0-201-89502-1.
- ^ Liu, Yanhong Annie (January 1996). Incremental Computation: A Semantics-Based Systematic Transformational Approach (PhD thesis). Cornell University. hdl:1813/7208. Retrieved 2022-09-08.
- ^ Yanhong Annie Liu (2013). Systematic Program Design: From Clarity to Efficiency. Cambridge University Press. ISBN 978-1-107-61079-8.
- ^ a b c d e "Most Influential POPL Paper Award". ACM SIGPLAN. Retrieved 2022-08-29.
- ^ Natural Programming project, archived from the original on 2022-10-25, retrieved 2022-11-11
- ^ Owicki, Susan; Lamport, Leslie (July 1982). "Proving liveness properties of concurrent programs". ACM Transactions on Programming Languages and Systems. 9 (3): 455–495. doi:10.1145/357172.357178. S2CID 17838416.
- ^ Brian Randell; Lawford John Russell (1964). Algol 60 Implementation (PDF). Academic Press. ISBN 0-12-578150-4.
- ^ "The Proteus System for the Development of Parallel Applications". Kestrel Institute. 1994. Retrieved 2022-08-23.
- ^ a b Teitelbaum, T.; T. Reps (September 1981). "The Cornell Program Synthesizer: A syntax-directed programming environment". Communications of the ACM. 24 (9): 563–573. doi:10.1145/358746.358755. S2CID 14317073.
- ^ O.C., Chesley; Ren, X.; Ryder, Barbara G. (26 September 2005). Crisp: a debugging tool for Java programs. 21st IEEE International Conference on Software Maintenance (ICSM'05). IEEE. pp. 712–734. doi:10.1109/ICSM.2005.37. Retrieved 2022-08-23.
- ^ Wei, Shiyi; Ryder, Barbara G. (2015). Boyland, John Tang (ed.). Adaptive context-sensitive analysis for JavaScript. 29th European Conference on Object-Oriented Programming (ECOOP 2015). Vol. 37. Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik. pp. 712–734. Retrieved 2022-08-23.
- ^ Schneider, Fred B. (September 1997). On concurrent programming. Texts in Computer Science. Springer Verlag, Berlin, Heidelberg. p. 473. doi:10.1007/978-1-4612-1830-2. ISBN 978-0-387-94942-0. S2CID 9980317.
- ^ Sergey, Ilya; Nagaraj, Vaivaswatha; Johannsen, Jacob; Kumar, Amrit; Trunov, Anton; Hao, Ken Chan Guan (October 2019). Stephen N. Freund; Eran Yahav (eds.). "Safer smart contract programming with Scilla". Proceedings of the ACM on Programming Languages. 3 (OOPSLA). ACM: 1–30. doi:10.1145/3360611. S2CID 203577198.
- ^ Sutherland, William Robert (January 1966). The on-line graphical specification of computer procedures (PhD thesis). MIT. hdl:1721.1/13474. Retrieved 2022-08-25.
- ^ Cardelli, Luca; Wegner, Peter (December 1985). "On understanding types, data abstraction, and polymorphism" (PDF). ACM Computing Surveys. 17 (4): 471–523. CiteSeerX 10.1.1.117.695. doi:10.1145/6041.6042. ISSN 0360-0300. S2CID 2921816.
- ^ Widom, Jennifer (1987). Trace-based network proof systems: expressiveness and completeness (concurrency) (PhD thesis). Cornell University. Retrieved 21 August 2022.
- ^ Liskov, Barbara H.; Wing, Jeannette (November 1994). "A behavioral notion of subtyping". ACM Transactions on Programming Languages and Systems. 16 (6): 1811–1841. doi:10.1145/197320.197383. S2CID 999172.
- ^ Yates, David (Spring 2010). "Pioneer Profile: Michael Woodger". Computer Resurrection – the Bulletin of the Computer Conservation Society. Vol. 50.
- ^ "Andrei Petrovich Ershov" (PDF). IEEE Computer Society.
- ^ — (September 1973). "Reversible execution". CACM. 16 (9): 566. doi:10.1145/362342.362360. S2CID 24277687.
- ^ — (January 1981). "Implementation of language enhancements". Computer Languages. 6 (3–4): 139–153. doi:10.1016/0096-0551(81)90026-6.