Thanks for mentioning it, and saving me the work of typing (or copying) the long title. This paper is great. If I had a dime for every time I've linked to it on Stack Overflow, I would have a lot of foreign change of little practical use.
It's not a terrible list, but it's very biased towards the question "how should we structure computer programs?".
This is a good question, but perhaps not the _only_ question, and I'm not sure that a top 10 list would be quite so focused on it, at the expense of algorithms, architecture, concurrency, networks, formal methods, etc.
I also doubt the ranty "Worse is Better" should be on any top 10 list, influential or not. Some of these papers seem better suited to give someone a background to furiously prognosticate here on HN and perhaps LtU than to do anything of consequence.
>This is a good question, but perhaps not the _only_ question.
I agree with narrow interpretation of your statement, but disagree with the broad one. Yes, the structure of computer programs isn't the only problem in computer science/software engineering. However, I would argue that it's the most important question. Moreover, it's the only question that translates well across domains. Algorithms, concurrency models, networks, etc. all will vary depending on the exact problem you are trying to solve. The principles behind good program structure, however, remain the same. It doesn't matter if you're making a computational fluid dynamics simulation, nearest neighbor classifier, relational database, enterprise inventory control, or a simple blog engine; taking the time to create a good structure for your program always pays off.
I've always found rpg's Patterns of Software to have some deep insights into the nature of software systems. Particularly the ruminations on habitability.
MapReduce: Simplified Data Processing on Large Clusters by Jeffrey Dean and Sanjay Ghemawat (OSDI'04: Sixth Symposium on Operating System Design and Implementation) http://labs.google.com/papers/mapreduce.html
[+] [-] drv|14 years ago|reply
[+] [-] unwind|14 years ago|reply
[+] [-] ColinDabritz|14 years ago|reply
http://cstheory.stackexchange.com/questions/1168/what-papers... [pdf]
The top two are nearly tied for: "A mathematical theory of communication" by Claude Shannon
http://guohanwei.51.net/code/A%20Mathematical%20Theory%20of%...
"On Computable Numbers, with an Application to the Entscheidungsproblem" by Alan Turing
http://l3d.cs.colorado.edu/~ctg/classes/lib/canon/turing-com... [pdf]
I would add that
'The Annotated Turing' by Charles Petzold
http://www.theannotatedturing.com/
is an excellent treatment of Turings paper, including much of the relevant additional math and computing history both before and after.
[+] [-] telemachos|14 years ago|reply
[1] http://cm.bell-labs.com/cm/ms/what/shannonday/shannon1948.pd...
[+] [-] onan_barbarian|14 years ago|reply
This is a good question, but perhaps not the _only_ question, and I'm not sure that a top 10 list would be quite so focused on it, at the expense of algorithms, architecture, concurrency, networks, formal methods, etc.
I also doubt the ranty "Worse is Better" should be on any top 10 list, influential or not. Some of these papers seem better suited to give someone a background to furiously prognosticate here on HN and perhaps LtU than to do anything of consequence.
[+] [-] quanticle|14 years ago|reply
I agree with narrow interpretation of your statement, but disagree with the broad one. Yes, the structure of computer programs isn't the only problem in computer science/software engineering. However, I would argue that it's the most important question. Moreover, it's the only question that translates well across domains. Algorithms, concurrency models, networks, etc. all will vary depending on the exact problem you are trying to solve. The principles behind good program structure, however, remain the same. It doesn't matter if you're making a computational fluid dynamics simulation, nearest neighbor classifier, relational database, enterprise inventory control, or a simple blog engine; taking the time to create a good structure for your program always pays off.
[+] [-] fogus|14 years ago|reply
http://web.mac.com/ben_moseley/frp/paper-v1_01.pdf
[+] [-] zerosanity|14 years ago|reply
[+] [-] swah|14 years ago|reply
[+] [-] mudge|14 years ago|reply
[+] [-] _delirium|14 years ago|reply
(It's the paper that originated Prolog, but is also more broadly interesting for its analysis of, well, algorithms as logic plus control.)
[+] [-] fanf2|14 years ago|reply
[+] [-] arethuza|14 years ago|reply
http://awards.acm.org/images/awards/140/articles/4622167.pdf
[+] [-] pnathan|14 years ago|reply
[+] [-] cpeterso|14 years ago|reply
https://research.microsoft.com/en-us/um/people/blampson/33-H...
[+] [-] endlessvoid94|14 years ago|reply
html version: http://www.usenix.org/event/lisa07/tech/full_papers/hamilton...
[+] [-] adulau|14 years ago|reply
[+] [-] unknown|14 years ago|reply
[deleted]
[+] [-] astrofinch|14 years ago|reply
[+] [-] ColinWright|14 years ago|reply
http://sunnyday.mit.edu/papers/nver-tse.pdf
[+] [-] Iv|14 years ago|reply
[+] [-] VinzO|14 years ago|reply
Any mirror link?
[+] [-] fogus|14 years ago|reply
http://webcache.googleusercontent.com/search?q=cache:D6mF_SI...