Great Works in Programming Languages

A collection organized by Benjamin C. Pierce.

In September, 2004, I posted a query to the Types list asking people to name the five most important papers ever written in the area of programming languages. This page collects the responses I received. (A few are missing because I am still tracking down bibliographic information.)

Seems prime material here for Lambda.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

20 years of the ACM SIGPLAN Conference on PLDI

SIGPLAN made a similar experiment recently. They asked former chairs and commitee members of the ACM SIGPLAN PLDI (Programming Language Design and Implementation) Conference to select 50 papers. The selection criteria used were technical excellence and impact.

The result can be seen at 20 Years of the
ACM SIGPLAN Conference on Programming Language Design and Implementation (1979 - 1999):
A Selection

pity none seem to link to rea

pity none seem to link to readable papers (or am i missing something?!).

Readable papers online

Like wine papers get better with age. They may not even exist in a digital version - let alone be available online.

The ACM digital library contains many (scanned in) papers and is a great ressource, but it is not freely available.

My favorite index of (mostly) free papers are, which do contain links to a few classics - but to call all of them classics might be a bit much.

Just imagine the Hawaii Five-O theme.

This was my response to his query:

According to CiteSeer (and my ability to distinguish, by title, between PL papers and non-PL papers), the top 13 most cited programming languages articles are:

9. A Structural Approach to Operational Semantics - Plotkin (1981)

12. Tcl and the Tk Toolkit - Ousterhout (1994)

15. The Java Language Specification - Gosling, Joy, Steele (1996)

17. The Stable Model Semantics For Logic Programming - Gelfond, Lifschitz (1988)

21. Rewrite Systems - Dershowitz, Jouannaud (1990)

26. Systematic Software Development Using VDM - Jones (1995)

29. Aspect-Oriented Programming - Kiczales, Irwin, Lamping, Loingtier, .. (1997)

57. Genetic Programming - Koza (1997)

59. Proof-Carrying Code - Necula, Lee (1996)

62. Term Rewriting Systems - Klop (1992)

64. The Esterel Synchronous Programming Language: Design, Semantics.. - Berry, Gonthier (1992)

78. The Lorel Query Language for Semistructured Data - Abiteboul, Quass, McHugh, Widom.. (1997)

93. A Transformation System for Developing Recursive Programs - Burstall, Darlington (1977)

The numbers are their ranks among most cited papers on _all_ of CiteSeer. Some of these entries are questionable, perhaps: is rewriting theory a PL topic, or an application of mathematics to PLs? is genetic programming really about programming languages? is an article less important if it's not "seminal" (like a chapter in the Handbook of Logic in CS)?

And, of course, "most cited" does not necessarily mean "most important". In my opinion, the most "important" ones on this list are 9, 59 and 93, but then I haven't read all of them. And I will not venture a guess outside this list. :)

Locations of the papers

Like many of you I wanted to read the list.
I found a couple of the papers:

C. A. R. Hoare. An axiomatic basis for computer programming

John C. Reynolds. Towards a theory of type structure

Many of Gordon Plotkin's papers ( but not the one listed ) are at

Enjoy !
Israel Raj Thomas

The PLDI survey

Was discussed on LtU here.