10 Papers Every Programmer Should Read (At Least Twice)
-
On the criteria to be used in decomposing systems into modules
– David Parnas -
A Note On Distributed Computing
– Jim Waldo, Geoff Wyant, Ann Wollrath, Sam Kendall -
The Next 700 Programming Languages
– P. J. Landin -
Can Programming Be Liberated from the von Neumann Style?
– John Backus -
Reflections on Trusting Trust
– Ken Thompson -
Lisp: Good News, Bad News, How to Win Big
– Richard Gabriel -
An experimental evaluation of the assumption of independence in multiversion programming
– John Knight and Nancy Leveson -
Arguments and Results
– James Noble -
A Laboratory For Teaching Object-Oriented Thinking
– Kent Beck, Ward Cunningham -
Programming as an Experience: the inspiration for Self
– David Ungar, Randall B. Smith
He actually gives a summary of each in his article.

