Collaborative articulation of how abstraction and language is employed in the computational manifestation of numbers -- including analysis of the role of syntax, semantics, and meaning in the specification and use of software interfaces.
Some time ago, I participated in an on-line discussion and poll for identifying those out-of-print Computer Science Classics that are the favorites of ACM members. The polling was distilled down to the 25-book ACM Classic Books Series with arrangements to make the books again available.
Thanks to Paul McJones, I see that twelve classics are now available as PDF downloads. If you do not have an ACM Subscriber membership, you can register to receive limited free service by following the link at the top of the Classics page. That is all you need to download the Classics PDFs.
McJones lists all of the PDFs that are available but for Aho and Ullman's Theory of Parsing, Translation, and Compiling. Ehud Lamm mentions four of likely interest to programming-language enthusiasts (also omitting Aho and Ullman, having me wonder if this is a more-recent addition to PDFs).
My Selections
Here are the ones that I downloaded or have alternatives to:
E. F. Codd. The Relational Model for Database Management: Version 2 (1990). Not downloaded. I had this book at one time. Currently, I find the original foundation papers and the analysis by Chris Date to be more useful.
C. A. R. Hoare and C. B. Jones (editor). Essays in Computing Science (1989). Here are 22 essays starting with Sir Tony's Turing Award Lecture, "The Emperor's Old Clothes," and including his analysis of the Quicksort algorithm, the unfortunately never-adopted "Contribution to the Development of ALGOL" (with Niklaus Wirth), a complete bibliography (up to the time of publication), and much more. It's great to have so many of these in one place, those I recall and those I must remedy my neglect of.
Dorothy Elizabeth Robling Denning. Cryptography and Data Security (1982). A basic reference that I missed as I delved into computer systems security in my M.Sc in IT studies.
Seymour Papert. Mindstorms:Children, Computers, and Powerful Ideas (1980). Not anything that I had read before. I am curious about for Papert's influence on the One Laptop Per Child program and its initial XO-1 computer system and it seems useful to review this work.
Alfred V. Aho and Jeffrey D. Ullman. The Theory of Parsing, Translation, and Compiling (1972). I've never owned this book, but it is a fundamental reference and now I have it.
O.-J. Dahl, E. W. Dijkstra, and C. A. R. Hoare. Structured Programming (1972).
John F. Hopcroft and Jeffrey D. Ullman. Formal Languages and Their Relation to Automata (1969) was not downloaded, because I have the 2001 edition of Introduction to Automata Theory, Languages, and Computation. I may be mistaken in the adequacy of the latter's coverage of the latest thinking on material in the former, but I can wait to find that out. I also think this is a book that I had once before and let slip away.
IBM. IBM System/360 Principles of Operation (1964). An amazing achievement at the time, there is much to be learned from the Principles of Operation approach to many current elements of computing. Something for review and taking lessons from.
On reviewing the list just now, I retrieved one other:
Apple. Macintosh Human Interface Guidelines (1992).
What I Yearn For
And if there were PDFs available, I would have added these:
Jon Louis Bentley. Writing Efficient Programs (1982)
Edsger W. Dijkstra. Selected Writings on Computing: A Personal Perspective (1982)
Edward Nash Yourdon (ed.). Classics in Software Engineering (1979). I have no idea why I let this book get away from me.
John Allen. Anatomy of LISP (1978). See previous comment.
Kathleen Jensen, Niklaus Wirth, et.al. PASCAL User Manual and Report (1974). Well, I don't miss my copy that much, but I bet there's more to learn by having it to refer back to now.
Kenneth E. Iverson. A Programming Language (1962). Along with the John Allen book, I miss this one the most.
OK, What Are Your Picks?
It will be interesting to see what the download statistics will be for these books. Meanwhile, what are your picks?
[update 2008-01-18T20:20Z I added a missing word and took the opportunity to clean up a few of my lengthy sentences.]