11 May 2008
I'm looking for the best books in the world on the subjects listed below. They can be beginning books, intermediate or advanced. If you know of other good books on these subjects, that you think maybe should be on this list, please let me know.
Must-Read/Classic
-
C Programming Language
by Brian W. Kernighan and Dennis M. Ritchie
- Structure and Interpretation of Computer Programs
by Harold Abelson and Gerald Jay Sussman
-
Compilers: Principles, Techniques, and Tools
by Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman
-
Art of Computer Programming
by Donald E. Knuth
Discrete Math
- Discrete Mathematics with Applications
by Susanna S. Epp
-
Concrete Mathematics
by Ronald L. Graham, Donald E. Knuth, and Oren Patashnik
-
Basic Category Theory for Computer Scientists
by Benjamin C. Pierce
Computer Theory
-
Computer Science: An Overview
by J. Glenn Brookshear
-
Introduction to the Theory of Computation
by Michael Sipser
-
Introduction to Computer Theory
by Daniel I. A. Cohen
-
Introduction to Automata Theory, Languages, and Computation
by John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman
Algorithms
-
Introduction to Algorithms
by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein
-
The Algorithm Design Manual
by Steve S. Skiena
-
Art of Computer Programming
by Donald E. Knuth
-
Algorithms in C
by Robert Sedgewick
-
Purely Functional Data Structures
by Chris Okasaki
Compilers
-
The Art of Compiler Design
by Thomas Pittman and James Peters
-
Compilers: Principles, Techniques, and Tools
by Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman
-
Advanced Compiler Design and Implementation
by Steven Muchnick
-
Linkers and Loaders
by John R. Levine
Programming Language Theory and Design
-
Programming Language Pragmatics
by Michael L. Scott
-
Types and Programming Languages
by Benjamin C. Pierce
-
Essentials of Programming Languages
by Daniel P. Friedman and Mitchell Wand
Hardware/CPU
-
Inside the Machine
by Jon Stokes
-
Code: The Hidden Language of Computer Hardware and Software
by Charles Petzold
Operating Systems
-
Operating Systems Design and Implementation
by Andrew S Tanenbaum and Albert S Woodhull
-
Modern Operating Systems
by Andrew S. Tanenbaum
-
Operating System Concepts
by Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne
-
Linux Kernel Development
by Robert Love
-
Linux Device Drivers
by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman
Assembly
-
Programming From The Ground Up
by Jonathan Bartlett and Dominick, Jr. Bruno
-
Assembly Language Step-by-Step
by Jeff Duntemann
Network Programming
-
Unix Network Programming, Volume 1
by W. Richard Stevens, Bill Fenner, and Andrew M. Rudoff
Better Programming
-
Code Complete
by Steve McConnell
-
The Pragmatic Programmer
by Andrew Hunt and David Thomas
-
Design Patterns
by Erich Gamma, Richard Helm, Ralph Johnson, and John M. Vlissides
-
The Mythical Man-Month
by Frederick P. Brooks
-
Beautiful Code
by Andy Oram and Greg Wilson
Comments
Anonymous
11 May 2008
I'd add "Topoi: the categorial analysis of logic", by Robert Goldblatt, to this list. It ties together and explains mathematical concepts (from naive set theory to ZF and NGB to arrows, category theory, heyting calculus and algebras, kripke semantics, and logical geometry) in an amazingly lucid manner. It's truly an underappreciated gem.
It's in print, and also freely available online at http://dlxs2.library.cornell.edu/cgi/t/text/text-idx?c=math;cc=math;rgn=main;view=text;idno=gold010
(it can be found by going to http://dlxs2.library.cornell.edu/m/math/# , and then browsing by author, if the above link doesn't work).
11 May 2008
I'd add "Topoi: the categorial analysis of logic", by Robert Goldblatt, to this list. It ties together and explains mathematical concepts (from naive set theory to ZF and NGB to arrows, category theory, heyting calculus and algebras, kripke semantics, and logical geometry) in an amazingly lucid manner. It's truly an underappreciated gem.
It's in print, and also freely available online at http://dlxs2.library.cornell.edu/cgi/t/text/text-idx?c=math;cc=math;rgn=main;view=text;idno=gold010
(it can be found by going to http://dlxs2.library.cornell.edu/m/math/# , and then browsing by author, if the above link doesn't work).
John
11 May 2008
ACM recently released several classic books for free on the web
http://portal.acm.org/toc.cfm?id=SERIES11430&type=series&coll=ACM&dl=ACM
So maybe just add the whole list :) or a few highlights, like
Smalltalk-80: the language and its implementation
Essays in computing science, Hoare
Dijkstra's stuff
Also, I think you are severly lacking in programming languages. Sure you have C and scheme, but a book about ML or Haskell or Prolog or Erlang or Smalltalk or ....
You should defiantly have
Purely Functional Data Structures by Chris Okasaki
amazing little book.
Also, maybe some books about ML or Haskell
http://www.haskell.org/haskellwiki/Books
maybe Haskell School of Expression
Lastly, I think a book on complexity theory, but maybe some of those theory books you listed contain some complexity theory.
11 May 2008
ACM recently released several classic books for free on the web
http://portal.acm.org/toc.cfm?id=SERIES11430&type=series&coll=ACM&dl=ACM
So maybe just add the whole list :) or a few highlights, like
Smalltalk-80: the language and its implementation
Essays in computing science, Hoare
Dijkstra's stuff
Also, I think you are severly lacking in programming languages. Sure you have C and scheme, but a book about ML or Haskell or Prolog or Erlang or Smalltalk or ....
You should defiantly have
Purely Functional Data Structures by Chris Okasaki
amazing little book.
Also, maybe some books about ML or Haskell
http://www.haskell.org/haskellwiki/Books
maybe Haskell School of Expression
Lastly, I think a book on complexity theory, but maybe some of those theory books you listed contain some complexity theory.
Kenn Knowles
kennknowles.com/blog
11 May 2008
I concur with John about "Purely Functional Data Structures" by Okasaki
And all of the following should fall into "Must-Read/Classic" in my opinion, but could be temporarily assigned other topics :-)
Better Programming:
"Algebra of Programming" by Bird and DeMoor
Type Systems:
Types and Programming Languages by Pierce
Proofs and Types by Girard
kennknowles.com/blog
11 May 2008
I concur with John about "Purely Functional Data Structures" by Okasaki
And all of the following should fall into "Must-Read/Classic" in my opinion, but could be temporarily assigned other topics :-)
Better Programming:
"Algebra of Programming" by Bird and DeMoor
Type Systems:
Types and Programming Languages by Pierce
Proofs and Types by Girard
Nick Mudge
11 May 2008
Thanks! I'm adding some of these. Keep them coming!
11 May 2008
Thanks! I'm adding some of these. Keep them coming!
Vimal
12 May 2008
The Design of the Unix operating System - Maurice Bach. Amazing book.
12 May 2008
The Design of the Unix operating System - Maurice Bach. Amazing book.
thorat
12 May 2008
Better Programming:
"The Practice of Programming" by Kernighan and Pike
12 May 2008
Better Programming:
"The Practice of Programming" by Kernighan and Pike
Dan Andersson
12 May 2008
Concepts, Techniques, and Models of Computer Programming' by Peter Van Roy and Seif Haridi was published in 2004. Too early to be a classic maybe?
12 May 2008
Concepts, Techniques, and Models of Computer Programming' by Peter Van Roy and Seif Haridi was published in 2004. Too early to be a classic maybe?
Sengan Baring-Gould
www.ansemond.com
13 May 2008
The implementation of Functional Programimng Languages (by Simon Peyton Jones).
www.ansemond.com
13 May 2008
The implementation of Functional Programimng Languages (by Simon Peyton Jones).
![Validate my RSS feed [Valid RSS]](/valid-rss.png)