
Great Works in Programming Languages - adamnemecek
http://www.cis.upenn.edu/~bcpierce/courses/670Fall04/GreatWorksInPL.shtml
======
state
The most recent paper mentioned here is from 2000. The most recent 'greatest
of the great' is from 1978.

Is it simply that it takes a long time for us to decide what constitutes a
significant advancement, or is something else going on?

~~~
kjhughes
_The most recent paper mentioned here is from 2000._

Realize that the list was proposed in 2004.

 _Is it simply that it takes a long time for us to decide what constitutes a
significant advancement, or is something else going on?_

Seminal work is recognized by its influence, and influence becomes more
apparent as impact accumulates over time.

~~~
sklogic
I'm not sure anything interesting happened in the PL world since 2004 besides
PEGs. Please feel free to correct me if I'm wrong, I always prefer to be among
the first to jump on a new bandwagon in the language design trends.

~~~
Q6T46nT668w6i3m
A few:

* Fault Location via Dynamic Slicing

* Interprocedural Analysis and the Verification of Concurrent Programs

* Logics and Algorithms for Software Model Checking

* Verifying Low-Level Programs via Liquid Type Inference

Moreover:

* Agda

* LLVM

~~~
sklogic
Thanks! Interesting. I'll try to dig out the recent papers. Although I have a
feeling that most of this is not that new. LLVM is just a very basic SSA,
which is early 90s. Agda builds on similar grounds as things like Coq, Minlog,
even ACL2 and Isabelle, which are very old. There've been a lot of buzz in the
concurrent code verification ever since the early pi-calculus papers by R.
Milner.

But the liquid type inference seems to be a genuinely new thing, and
apparently I totally missed it somehow. It even seems like I unknowingly
reinvented something similar, by using arbitrary Prolog code as type
attributes on top of a basic Hindley-Milner.

~~~
Q6T46nT668w6i3m
_Agda builds on similar grounds as things like Coq, Minlog, even ACL2 and
Isabelle, which are very old._

… Coq, Minlog, even ACL2 and Isabelle build on similar grounds as Chrysippus’
in the 3rd century BC …

i.e. there’s nothing new under the sun.

------
mathattack
Interesting that a lot of this is about "What stands the test of time?" Papers
from 1994 to 2004 perhaps didn't have enough time to work their way through
the system.

What I find interesting is the gap of time between papers for the authors with
multiple listings. A casual look suggests no more than 12 years between
papers. This could be because it's a young field, but I found that worth
noting.

p.s. To be pedantic, we should put 2004 in the title.

------
mnemotronic
Codd, E. F. (1970). "A relational model of data for large shared data banks".
Communications of the ACM 13 (6): 377. doi:10.1145/362384.362685.

[http://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf](http://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf)

------
agumonkey
The lambda papers
[http://library.readscheme.org/page1.html](http://library.readscheme.org/page1.html)

------
YAYERKA
Previously discussed here

`[https://news.ycombinator.com/item?id=5872043'](https://news.ycombinator.com/item?id=5872043').

And links to the `greatest of the great' papers;

`[https://news.ycombinator.com/item?id=5872310'](https://news.ycombinator.com/item?id=5872310').

------
reacweb
Why "Go to statement considered harmful" is considered a great work ?

Edsger W. Dijkstra made that statement in the context of an argument with
Donald Knuth. Knuth won:
([http://pplab.snu.ac.kr/courses/adv_pl05/papers/p261-knuth.pd...](http://pplab.snu.ac.kr/courses/adv_pl05/papers/p261-knuth.pdf))
[http://web.archive.org/web/20070927094626/http://pplab.snu.a...](http://web.archive.org/web/20070927094626/http://pplab.snu.ac.kr/courses/adv_pl05/papers/p261-knuth.pdf)

This article has been the bible of many "code nazis" who have caused a lot of
pain to many programmers. Please, forgot this article.

~~~
taeric
This is akin to the Waterfall method being touted as the dumb way that people
used to say to write software. When the entire point of the paper that
introduced it by that name did so as a straw man.

Also, do be fair. If "Knuth won" the argument, he still ultimately condemned
goto statements. To quote: "I personally wouldn't mind having goto in the
highest level, just in case I really need it; but I probably would never use
it" Further, that paper is on the list.

And, I do highly recommend people reading the paper. It is, as usual for
Knuth, a very thorough exploration of the topic.

~~~
reacweb
Yes, all the articles of Knuth are always insightfull. The problem of the
article about goto is not its content but how it has been used since its
publication to hurt the whole profession. This article is more harmfull than
the occasional presence of a goto.

~~~
taeric
How so?

------
codygman
Great list, I'm downloading many of them now!

~~~
gtani
pdfs, or at least as many as one guy could find:
[http://www.reddit.com/r/compsci/comments/2nuz75/great_works_...](http://www.reddit.com/r/compsci/comments/2nuz75/great_works_in_programming_languages/)

------
farva
Surprised SICP isn't mentioned.

~~~
stepstep
SICP isn't a research publication—it's a pedagogical work. It's been very
valuable as a textbook for CS students, but I don't think it contributed any
significant ideas to the field of PL.

~~~
seanmcdirmid
Most of the papers listed on the page are PL theory papers, PL is a much
bigger discipline than just theory. Some of the papers at the end are more
design and/or implementation papers (e.g. the Self paper).

------
plow
I was hoping this would be about the equivalent to the great works of the
ancient and modern worlds, the pyramids, the manhattan
project...Disappointed...

~~~
fritzo
I was hoping this would be great works in various programming languages,
rather than about. A list of classics like the Architecture of Open Source
Applications project
[http://aosabook.org/en/index.html](http://aosabook.org/en/index.html) to
accompany the short stories in
[https://github.com/aosabook/500lines](https://github.com/aosabook/500lines)

------
alizee
What a fool! I expected from "great works" some algorithms or pieces of code,
not papers... Interesting anyway.

~~~
kd0amg
Plenty of them do give algorithms/code.

