List of programming language researchers

Last updated

The following is list of researchers of programming language theory, design, implementation, and related areas.

Contents

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

R

S

T

U

V

W

Y

Z

See also

Related Research Articles

<span class="mw-page-title-main">Niklaus Wirth</span> Swiss computer scientist (1934–2024)

Niklaus Emil Wirth was a Swiss computer scientist. He designed several programming languages, including Pascal, and pioneered several classic topics in software engineering. In 1984, he won the Turing Award, generally recognized as the highest distinction in computer science, "for developing a sequence of innovative computer languages".

<span class="mw-page-title-main">Simula</span> Early object-oriented programming language

Simula is the name of two simulation programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard. Syntactically, it is an approximate superset of ALGOL 60, and was also influenced by the design of Simscript.

<span class="mw-page-title-main">Tony Hoare</span> British computer scientist

Sir Charles Antony Richard Hoare is a British computer scientist who has made foundational contributions to programming languages, algorithms, operating systems, formal verification, and concurrent computing. His work earned him the Turing Award, usually regarded as the highest distinction in computer science, in 1980.

<span class="mw-page-title-main">Ole-Johan Dahl</span> Norwegian computer scientist

Ole-Johan Dahl 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 with Kristen Nygaard.

<span class="mw-page-title-main">John Backus</span> American computer scientist

John Warner Backus was an American computer scientist. He led the team that invented and implemented FORTRAN, the first widely used high-level programming language, and was the inventor of the Backus–Naur form (BNF), a widely used notation to define syntaxes of formal languages. He later did research into the function-level programming paradigm, presenting his findings in his influential 1977 Turing Award lecture "Can Programming Be Liberated from the von Neumann Style?"

<span class="mw-page-title-main">Kristen Nygaard</span> Norwegian computer scientist and mathematician

Kristen Nygaard 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 language Simula with Ole-Johan Dahl in the 1960s. Nygaard and Dahl received the 2001 A. M. Turing Award for their contribution to computer science.

<span class="mw-page-title-main">Bertrand Meyer</span> French computer scientist

Bertrand Meyer 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.

<span class="mw-page-title-main">History of programming languages</span> History of languages used to program computers

The history of programming languages spans from documentation of early mechanical computers to modern tools for software development. Early programming languages were highly specialized, relying on mathematical notation and similarly obscure syntax. Throughout the 20th century, research in compiler theory led to the creation of high-level programming languages, which use a more accessible syntax to communicate instructions.

<span class="mw-page-title-main">Gregor Kiczales</span> American computer scientist

Gregor Kiczales is an American computer scientist. He is currently a 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-oriented programming, and the AspectJ extension to the Java programming language, both of which he designed while working at Xerox PARC. He is also one of the co-authors of the specification for the Common Lisp Object System, and is the author of the book The Art of the Metaobject Protocol, along with Jim Des Rivières and Daniel G. Bobrow.

XPL, for expert's programming language is a programming language based on PL/I, a portable one-pass compiler written in its own language, and a parser generator tool for easily implementing similar compilers for other languages. XPL was designed in 1967 as a way to teach compiler design principles and as starting point for students to build compilers for their own languages.

<span class="mw-page-title-main">Dan Ingalls</span> American computer scientist

Daniel Henry Holmes Ingalls Jr. 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 made Smalltalk practical in 1976. He also invented bit blit, the general-purpose graphical operation that underlies most bitmap computer graphics systems today, and pop-up menus. He designed the generalizations of BitBlt to arbitrary color depth, with built-in scaling, rotation, and anti-aliasing. He made major contributions to the Squeak version of Smalltalk, including the original concept of a Smalltalk written in itself and made portable and efficient by a Smalltalk-to-C translator.

Ralph E. Johnson is a Research Associate Professor in the Department of Computer Science at the University of Illinois at Urbana-Champaign. He is a co-author of the influential computer science textbook Design Patterns: Elements of Reusable Object-Oriented Software, for which he won the 2010 ACM SIGSOFT Outstanding Research Award. In 2006 he was awarded the Dahl–Nygaard Prize for his contributions to the state of the art embodied in that book as well.

<span class="mw-page-title-main">Luca Cardelli</span> Italian computer scientist

Luca Andrea Cardelli is an Italian computer scientist who is a research professor at the University of Oxford, UK. Cardelli is well known for his research in type theory and operational semantics. Among other contributions, in programming languages, he helped design the language Modula-3, implemented the first compiler for the (non-pure) functional language ML, defined the concept of typeful programming, and helped develop the experimental language Polyphonic C#.

<span class="mw-page-title-main">David Ungar</span> American computer scientist

David Michael Ungar, an American computer scientist, co-created the Self programming language with Randall Smith. The Self development environment's animated user experience was described in the paper Animation: From Cartoons to the User Interface co-written with Bay-Wei Chang, which won a lasting impact award at the ACM Symposium on User Interface Software and Technology 2004.

<span class="mw-page-title-main">Lars Bak (computer programmer)</span> Danish computer programmer

Lars Bak is a Danish computer programmer. He is known as a JavaScript expert and for his work on virtual machines. He previously worked for Google, having contributed to the Chrome browser as the lead developer of the V8 JavaScript engine.

<span class="mw-page-title-main">Laurie Hendren</span> Canadian computer scientist (1958–2019)

Laurie Hendren was a Canadian computer scientist noted for her research in programming languages and compilers.

<span class="mw-page-title-main">James Noble (computer scientist)</span>

James Noble was the 2016 winner of the Dahl-Nygaard Prize. He was Professor of Computer Science at the Victoria University of Wellington, in Wellington, New Zealand until February 2022.

Emina Torlak is an American computer scientist and software engineer whose research concerns software verification, program synthesis, and the integration of these techniques into domain-specific languages. She was previously professor of computer science at the University of Washington, and is currently a senior principal scientist for Amazon Web Services.

References

  1. 1 2 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.
  2. 1 2 3 4 5 6 7 8 9 10 11 12 13 "Programming Languages Software Award". ACM SIGPLAN . Retrieved 2022-08-29.
  3. 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.
  4. 1 2 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.
  5. 1 2 "AITO Dahl–Nygaard Prize Winners". Association Internationale pour les Technologies Objets. 2014. Retrieved 2022-08-21.
  6. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 "Programming Languages AchievementAward". Sigplan.org. Retrieved 2022-08-30.
  7. "ACM-AAAI Allen Newell Award". ACM . Retrieved 2022-09-07.
  8. "Jeremy Gibbons: publications". University of Oxford . Retrieved 2022-09-05.
  9. "NAE members directory". NAE. 1993. Retrieved 2022-08-20.
  10. 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.
  11. "IBM Punch cards on which the book was written are in the Stanford Museum" . Retrieved 11 July 2022.
  12. 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.
  13. The Design and Implementation of Programming Languages (PDF), University of Oxford, July 1983, retrieved September 7, 2022
  14. Jones, C.B. (June 1981). Development Methods for Computer Programs including a Notion of Interference (PDF) (DPhil thesis). Oxford University.
  15. Gilles Kahn and David MacQueen (1976). Coroutines and Networks of Parallel Processes (Report). INRIA.
  16. Kenneth C. Knowlton (1966), "A programmer's description of L6", CACM, 9 (8): 616–625, doi: 10.1145/365758.365792 , S2CID   43669187
  17. 1 2 3 4 "Robin Milner Young Researcher Award". SIGPLAN. 2021. Retrieved 2022-08-23.
  18. 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.
  19. PLDI is short for Programming Language Design and Implementation
  20. "Most Influential PLDI Paper Award". SIGPLAN . Retrieved 2022-08-21.
  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.
  22. Liu, Yanhong Annie (January 1996). Incremental Computation: A Semantics-Based Systematic Transformational Approach (PhD thesis). Cornell University. hdl:1813/7208 . Retrieved 2022-09-08.
  23. Yanhong Annie Liu (2013). Systematic Program Design: From Clarity to Efficiency. Cambridge University Press. ISBN   978-1-107-61079-8.
  24. 1 2 3 4 5 "Most Influential POPL Paper Award". ACM SIGPLAN . Retrieved 2022-08-29.
  25. Natural Programming project, archived from the original on 2022-10-25, retrieved 2022-11-11
  26. 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.
  27. Brian Randell; Lawford John Russell (1964). Algol 60 Implementation (PDF). Academic Press. ISBN   0-12-578150-4.
  28. "The Proteus System for the Development of Parallel Applications". Kestrel Institute. 1994. Retrieved 2022-08-23.
  29. 1 2 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.
  30. 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.
  31. 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.
  32. 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.
  33. 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 (PACMPL). 3 (OOPSLA). ACM: 1–30. doi: 10.1145/3360611 . S2CID   203577198.
  34. Sutherland, William Robert (January 1966). The on-line graphical specification of computer procedures (PhD thesis). MIT. hdl:1721.1/13474 . Retrieved 2022-08-25.
  35. 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.
  36. Widom, Jennifer (1987). Trace-based network proof systems: expressiveness and completeness (concurrency) (PhD thesis). Cornell University. Retrieved 21 August 2022.
  37. 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.
  38. Yates, David (Spring 2010). "Pioneer Profile: Michael Woodger". Computer Resurrection – the Bulletin of the Computer Conservation Society. Vol. 50.
  39. "Andrei Petrovich Ershov" (PDF). IEEE Computer Society.
  40. (September 1973). "Reversible execution". CACM . 16 (9): 566. doi: 10.1145/362342.362360 . S2CID   24277687.
  41. (January 1981). "Implementation of language enhancements". Computer Languages. 6 (3–4): 139–153. doi:10.1016/0096-0551(81)90026-6.