The following is list of researchers of programming language theory, design, implementation, and related areas.
A
- 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
- Gul Agha, elected as an ACM Fellow in 2018 for research in concurrent programming and formal methods, specifically the Actor Model
- Alfred Aho, 2020 Turing Award citation: for fundamental algorithms and theory underlying programming language implementation and for synthesizing these results ... in their highly influential books ...
- Frances Allen, 2006 Turing Award citation: 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)
- Bruce Arden, co-authored two compilers, GAT[1] for the IBM 650 and MAD
B
- Ralph-Johan Back, originated the refinement calculus, used in the formal development of programs using stepwise refinement
- John Backus, 1977 Turing Award citation: 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
- 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, Resilient Smalltalk, and V8 Javascript
- Friedrich L. Bauer, proposed the stack method of expression evaluation, on the Algol 60 Committee, see also [2]
- Kent Beck, a leading proponent of Test-Driven Development (TDD), pioneered software design patterns, and co-wrote JUnit for Java
- Grady Booch, developer of the Unified Modeling Language(UML)
- Kathleen Booth, designed and developed the first assembly language
- Gilad Bracha, the 2017 AITO Dahl-Nygaard Prize for outstanding work on many topics relevant to OO, including mixins, Java generics, Strongtalk, and Newspeak languages.
- Walter Bright, designer of D
- Kim Bruce, the 2021 AITO Dahl-Nygaard Prize for significant and ongoing contributions to programming language theory and design in general and object orientation specifically[3]
- Rod Burstall, the languages POP, NPL, and Hope; awarded the ACM SIGPLAN Programming Language Achievement Award.[4]
C
- Luca Cardelli, research in type theory and operational semantics, helped develop Modula-3 and Polyphonic C#, implemented first compiler for ML, defined typeful programming, awarded the 2007 AITO Dahl-Nygaard Prize
- Craig Chambers, the 2011 AITO Dahl-Nygaard Prize, for the design of Cecil and his work on compiler techniques used to implement OO languages ...
- K. Mani Chandy, contributions to the verification of parallel programming languages, including the language UNITY
- John Cocke, 1987 Turing Award citation: for significant contributions in the design and theory of compilers, ..., and ...
- Alain Colmerauer, creator of Prolog
- William Cook, chief architect of AppleScript, the 2014 AITO Dahl-Nygaard Prize for contributions to the theory and practice of OO programming[3]
- 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, 2001 Turing Award citation: for ideas fundamental to the emergence of object-oriented programming, through their design of the programming languages Simula I and Simula 67
- John Darlington, work on program transformation and functional programming, including NPL, Hope+
- Edsger W. Dijkstra, first ALGOL 60 compiler, weakest preconditions, 1972 Turing Award citation: for fundamental contributions to developing programming languages
- Damien Doligez, co-developer and implementor of OCaml, especially its garbage collector
E
- Brendan Eich, designer of JavaScript
F
- Mahmoud Samir Fayed, creator of PWCT and Ring
- Matthias Felleisen, creator of the Racket programming language
- Robert W. Floyd, 1978 Turing Award citation: 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 object-oriented modeling notations
- Daniel P. Friedman, influential paper on lazy programming, explored macros for defining programming languages, lead author of Essentials of Programming Languages
G
- 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, awarded the 2006 AITO Dahl-Nygaard Prize, for ... their landmark book Design Patterns: ...
- James Gosling, father of the Java programming language
- Robert Graham, co-authored two compilers, GAT[5] for the IBM 650 and MAD
- Susan Graham, awarded the 2009 IEEE John von Neumann Medal for "contributions to programming language design and implementation and for ..."[6]
- David Gries, first text on writing compilers,[7][8] contributions to semantics of programming language constructs, e.g. Interference freedom and [9]
- Robert Griesemer, co-designer of Go
- Ralph Griswold, designer of SNOBOL, SL5, and Icon
- John Guttag, co-developer of the Larch family of formal specification languages and the Larch Prover (LP)
H
- Robert Harper, major contributions to Standard ML and the LF logical framework, ACM SIGPLAN Programming Languages Achievement Award for foundational contributions to type theory ...[10]
- 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 compilation
- 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"
- Rich Hickey, designer of Clojure
- Tony Hoare, first axiomatic basis for proving programs correct, CSP, 1980 Turing Award citation: for fundamental contributions to the definition and design of programming languages
- Ric Holt, Turing programming language, contributions to Grok, Euclid, SP/k, and S/SL
- 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, best known for his involvement in the design of Haskell, as well as several texts on Haskell
I
- Roberto Ierusalimschy, designer of Lua
- Dan Ingalls, co-inventor of Smalltalk, awarded the 2022 AITO Dahl-Nygaard Prize
- Kenneth E. Iverson, 1979 Turing Award citation: for his pioneering effort in programming languages and mathematical notation resulting in ... APL, for his contributions to ..., ..., and programming language theory and practice
J
- 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
- Ralph Johnson, one of the Gang of Four, awarded the 2006 AITO Dahl-Nygaard Prize for ... their landmark book Design Patterns: ...
- Simon Peyton Jones, lead developer of the Glasgow Haskell Compiler and major contributor to the design of the Haskell programming language
K
- Alan Kay, 2003 Turing Award citation: for pioneering many of the ideas at the root of contemporary object-oriented programming languages, leading the team that developed Smalltalk, and ...
- John G. Kemeny, co-designer and developer the first BASIC language
- Brian Kernighan, co-designer of AWK and AMPL
- Gregor Kiczales, the 2012 AITO Dahl-Nygaard Prize, for his work on CLOS and the MOP and for spearheading aspect-orientation and AspectJ
- Donald Knuth, 1974 Turing Award citation: for his major contributions to ... and the design of programming languages, and ...
- Thomas E. Kurtz, co-designer and developer the first BASIC language
L
- 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[11][12]
- Leslie Lamport, creator of the formal specification language TLA+ and much more, 2013 Turing Award
- Chris Lattner, designer of Swift
- 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, received the 2016 Milner Award for "exceptional achievements in computer programming which includes the design and implementation of OCaml"
- Barbara Liskov, 2008 Turing Award citation: for contributions to practical and theoretical foundations of programming language and system design, ...
M
- Yukihiro Matsumoto, designer of Ruby
- David May, lead designer of occam
- John McCarthy, the Lisp family of programming languages, 1971 Turing Award
- Douglas McIlroy, pioneering researcher of macro processors and programming language extensibility, participated in the design of PL/I, SNOBOL, ALTRAN, TMG, and C++
- Bertrand Meyer, created Eiffel and advocated design by contract, awarded the 2005 AITO Dahl-Nygaard Prize
- Robin Milner, 1991 Turing Award citation: 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[13]
- John 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
- 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 is interested in applying type systems, model checkers, certifying compilers, proof-carrying code, and inlined reference monitors to build efficient and provably secure systems; he created Cyclone
N
- Peter Naur, 2005 Turing Award citation: for fundamental contributions to programming language design and the definition of ALGOL 60, to compiler design, and to ...
- Oscar Nierstrasz, awarded 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, awarded 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, 2001 Turing Award citation: for ideas fundamental to the emergence of OO programming, through their design of Simula I and Simula 67
O
- Martin Odersky, designer of Scala
- Peter O'Hearn, best known for separation logic; led a team to develop the static program analysis utility Infer Static Analyzer
- John Ousterhout, designer of Tcl
- Susan Owicki, contributions to semantics, e.g. Interference freedom and [14]
P
- David Parnas, developed information hiding, which is an important element of OO programming today.
- Lawrence Paulson, known for the text ML for the Working Programmer and the interactive theorem prover Isabelle, which he introduced in 1986
- Alan Perlis, 1966 Turing Award citation: for ... and compiler construction
- 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, Types and Programming Languages
- Rob Pike, co-designer of Newsqueak Limbo and Go
- Gordon Plotkin, for structural operational semantics (SOS) and work on denotational semantics; received the 2012 Milner Award for "... lasting impact on principles and design of programming languages"
- Amir Pnueli, 1996 Turing Award citation: for seminal work introducing temporal logic into computing science and for outstanding contributions to program and systems verification
- Robin Popplestone, developed COWSEL and POP-2
- 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
- Brian Randell, in 1964, implemented the Algol 60 Whetstone compiler[15]
- John Reif, the Proteus language and system for the development of parallel applications[16]
- Thomas W. Reps, co-developed the early (1978) IDE the Cornell Program Synthesizer,[17] co-founded GrammaTech, which developed CodeSonar, which performs static analysis on C, C++, C#, and Java, work on program slicing, data-flow analysis, IDEs
- Mitchel Resnick, developed the visual programming language Scratch
- John C. Reynolds, invented polymorphic lambda calculus (System F), clarified early work on continuations, introduced defunctionalization, worked on a separation logic to describe and reason about shared mutable data structures
- Dennis Ritchie, designer of C, 1983 Turing Award
- Guido van Rossum, designer of Python
- Barbara G. Ryder, extensive work on Java and Javascript, e.g.[18][19]
S
- Klaus Samelson, pioneer in programming language translation and push-pop stack algorithms, Algol 60 Committee, see also [2]
- Fred B. Schneider, defined liveness (as opposed to safety), contributions to assertional methods for developing concurrent and distributed programs[20]
- Guy L. Steele, Jr., co-designer of Scheme and designer of Fortress
- Bjarne Stroustrup, awarded the 2015 AITO Dahl-Nygaard Prize for the design, implementation, and evolution of C++
- Gerald Jay Sussman, co-designer of Scheme
- Don Syme, creator of F#
T
- Tim Teitelbaum, co-developed the early (1978) IDE the Cornell Program Synthesizer,[17] co-founded GrammaTech, which developed CodeSonar, which performs static analysis on C, C++, C#, and Java
- Ken Thompson, designer of B, co-designer of Go, 1983 Turing Award
- Emina Torlak, received the 2021 ACM SIGPLAN Robin Milner Young Researcher Award for leading work in automated verification[21]
U
- Jeffrey Ullman, 2020 Turing Award citation: for fundamental algorithms and theory underlying programming language implementation and for synthesizing these results ... in their 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 compilation technology that made the widespread industrial use of Java possible
V
- John Vlissides, one of the Gang of Four, awarded the 2006 AITO Dahl-Nygaard Prize, for ... their landmark book Design Patterns: ...
W
- Philip Wadler, co-designer of Haskell, involved in adding generic types to Java 5.0
- Larry Wall, designer of [[Perl]
- Peter Wegner, seminal work with Cardelli in OO programming: On Understanding Types[22]
- Jennifer Widom, for her PhD thesis on trace-based network proof systems[23]
- Adriaan van Wijngaarden, one of the designers of ALGOL 60 and ALGOL 68, developed the two-level Van Wijngaarden grammar
- Jeannette Wing, early work included A behavioral notion of subtyping,[24] influential in the field as Corporate Vice President of Microsoft Research and later as Columbia University executive vice president for research
- Niklaus Wirth, 1984 Turing Award citation: 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[25]
Y
- Katherine Yelick, known for her work in Partitioned global address space languages, including co-inventing Unified Parallel C
- Akinori Yonezawa received the 2008 AITO Dahl-Nygaard Prize, for "his overall contribution to both theory and practice of concurrent object-oriented languages...", designer ABCL/R, a reflective subset of the first concurrent OO programming language ABCL/1
See also
References
- ^ 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 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.
- ^ "SIGPLAN Programming Languages Achievement Award — 2009: Rod Burstall". ACM SIGPLAN. Retrieved 21 August 2022.
- ^ 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.
- ^ "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". TOPLAS. 2 (4): 564–579. doi:10.1145/357114.357119.
- ^ "Programming Languages AchievementAward". www.sigplan.org. Retrieved 2022-08-22.
- ^ PLDI is short for Programming Language Design and Implementation
- ^ "Most Influential PLDI Paper Award". ACM] SIGPLAN. Retrieved 2022-08-21.
- ^ "Orc Language".
- ^ Owicki, Susan; Lamport, Leslie (July 1982). "Proving liveness properties of concurrent programs". ACM Transactions on Programming Languages and Systems. 9: 455–495.
- ^ 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.
{{cite book}}
: CS1 maint: year (link) - ^ "Robin Milner Young Researcher Award". SIGPLAN. 2021. Retrieved 2022-08-23.
- ^ 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". TOPLAS. 16 (6): 1811–1841. doi:10.1145/197320.197383.
- ^ Yates, David (Spring 2010). "Pioneer Profile: Michael Woodger". Computer Resurrection – The Bulletin of the Computer Conservation Society. Vol. 50.