Discussion On
The Top 9½ In a Hacker’s Bookshelf

by in Books & Tools


  1. Layong
    Friday, April 458, 2008

    wuah… nice books review. I like review book #1. thx. :)

  2. chi
    Friday, April 404, 2008

    wow, i like how you put the hitchhiker’s guide on your list. i’m assuming that hitchiker’s guide is the “1/2” in your top 9 and a half?

  3. Jess Johnson
    Saturday, April 547, 2008

    @chi Yup, I didn’t feel right calling it a top ten when the Hitchhiker’s Guide didn’t exactly fit.

  4. ken
    Saturday, April 527, 2008

    Wow, I like this list. Just recently I was pondering which books I should get next to further my studies, and this list looks to have given me some very good ideas. Kudos.

  5. cjh
    Saturday, April 527, 2008

    At 274 pages this is one of the most compact languages references you will find. I dare a Java author to come up with something so sweetly concise.

    Check out Java Precisely. It covers Java 5.0 in 142 pages in a format that clearly owes much to the classic K+R. You can browse it in Google Books and see what I mean.

  6. Florian Potschka
    Sunday, April 655, 2008

    Great list! Except “Unix Power Tools” I read all of them too and would recommend them warmly to every software guy.
    Some other great books on my bookshelf are:
    * The Pragmatic Programmer (Hunt, Thomas)
    * Peopleware (DeMarco)
    * Modern Operating Systems (Tanenbaum)

  7. seb
    Sunday, April 602, 2008

    Knuth’s TAOCP needs to be on the list

  8. Michael Hartl
    Sunday, April 638, 2008

    N.B. A 2nd edition of the dragon book came out last year: http://www.amazon.com/gp/product/0321486811/

  9. Glen
    Sunday, April 641, 2008

    I just recently began learning programming at the Hawaii Virtual School. One of my instructors recommended three of the books you mentioned. I think I’ll follow your advice and get these books.

  10. Jess Johnson
    Sunday, April 613, 2008

    @cjh I will have a look at Java Precisely, especially since I need to learn Java 5. I wasn’t looking forward to another 800+ page Java book.

    @seb I’m a bit ashamed to say I haven’t read Knuth’s TAOCP yet, but it is on my list of books to read. I’m sure I’ll get to it sometime…

    @Michael Hartl Its great to know that they are keeping the dragon book updated, it would be a shame to see such a great resource become dated.

  11. Hmm
    Sunday, April 625, 2008

    No TCP Illustrated??? Must have!.

  12. Issac Kelly
    Sunday, April 636, 2008

    Here is the Full Text of the SICP book.

    $65 cheaper than amazon http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html#%_toc_start

  13. Jason
    Sunday, April 631, 2008

    s/Code Complete/Pragmatic Programmer/, but otherwise that could be my bookshelf.

  14. Ken Nickerson
    Sunday, April 632, 2008

    While I’m a HUGE HHGTTG and met Adams a few times before his all to soon death. The book “The Psychology of Computer Programming” by Gerald M. Weinberg would eclipse this choice for a top 9 1/2 books. It’s now out as a “Silver Anniversary Edition” and you can read more about it here: http://www.dorsethouse.com/books/psy.html . Thanks for the great listing though. All excellent selections.

  15. Izaak Alpert
    Sunday, April 611, 2008

    I second Ken Nickerson, excpet for Wienberg’s “Becomeing a technical team leader (http://www.dorsethouse.com/books/btl.html).

  16. jason
    Sunday, April 631, 2008

    the art of unix programming by eric raymond

  17. SmartYoungAnonPoster
    Sunday, April 659, 2008

    How about Computer Organization & Design? I’d say understanding how a computer works is pretty essential…

  18. Jeremy
    Sunday, April 620, 2008

    Anyone got a better recommendation for an algorithm and/or data structures book?
    I find most of them types of books (including Introduction to Algorithms) seem to
    be made to use in a University environment, not self-study.

  19. landon dyer
    Sunday, April 627, 2008

    I’d definitely add a book on networking. Comer’s books are a great introduction, but they don’t scale beyond that, and the books by Stevens are great when you need something authoritative, but are hardly generalist works. (The OSI wars are over, so Padlipsky’s _Elements of Networking Style_ is largely unnecessary today, but a lot of fun to read). We’re left with Tannenbaum’s books, but I don’t really like them.

    Some book on LISP. I actually like reading Steele’s 2nd edition of Common LISP, the Language but then I’m a sicko. Definitely gives the Java folks something to aspire to, though. Perhaps _The Little LISPer_, or the Scheme variants.

    Graphics are a similar quandry: Lots of good books, nothing really stands out as *the reference*. I never liked Foley and Van Damm, or Newman and Sproull (which dates me). For “fun” reading check out Jim Blinn’s collected columns. The PostScript reference books were interesting as well.

    A good book on modern computer architecture is indispensable. _Modern Processor Design_ is good.

    Likewise, OS design. The _Inside Windows NT_ books are excellent (even if you hate Windows), and the book on porting Linux to the Itanium is great, too (I forget the title, it’s published by HP).

    @Jeremy: Sedgewick’s books on algorithms are what I used for self-study after I left college. They’re well written and approachable, if not as deep as the “white book.”

    For more fun: _Soul of a New Machine_, and _The Pentium Chronicles_, and _Managing Humans_.

  20. Dave Kirby
    Sunday, April 611, 2008

    Two more essential books –

    Refactoring by Martin Fowler

    Test Driven Design By Example by Kent Beck

    TDD & refactoring are the most important innovations in software development for the last 15 years. If you are not practicing them you are working in the programming dark ages.

  21. Dave Kirby
    Sunday, April 631, 2008

    Ooops – I meant “Test Driven Development”, not “Design”. But it is a design practice too.

  22. Nrrd
    Monday, April 754, 2008

    Ignoring technical manuals for a brief moment, for a bit of social history about hackers try Steven Levy’s Hackers: Heroes of the Computer Revolution, which tells you about the culture and characters from three ages of computing history. 1960’s era MIT, 1970’s era homebrew computing and the 1980’s games companies. Fantastic tales of bizarre characters and their crazy antics

  23. Dennis Groves
    Monday, April 719, 2008

    Very definately missing:

    Gödel, Escher, Bach: an Eternal Golden Braid (commonly GEB) is a Pulitzer Prize-winning book by Douglas Hofstadter. **Must** be among the books on any hackers bookshelf; and you better have read it too! ;-)

    This belongs right at the top of the list with SICP and Mythical Man Month.

    The dragon book is a favorite of mine. Everything there is to know about computer science is involved in compiler design.

    But I have to say “Introduction to Algorithms” might be a great intro text book, however the real hackers I know, need to know more than intro material – and head staight for the great works of Knuth.

  24. Nathan
    Monday, April 720, 2008

    The Dragon Book received an update last year.

  25. Tet
    Monday, April 718, 2008

    A pretty good list, and one I’d generally agree with. I personally find the later editions of “Unix power tools” to be too perl-oriented, where the earlier editions were much better. I’d add Eric Raymond’s “The art of Unix programming“. ESR may have lost his marbles at times, but in that book, he manages to pretty accurately capture the philosophy that drives the Unix culture[1]. Even if you’re not coding on Unix, the approaches laid out in the book should make you a better coder.

    [1] Although in places, he tries to force tools into that culture that really don’t fit, such as Emacs — I’d have preferred it if he’d just said “Emacs isn’t a good fit with the Unix culture, but many hackers use it because it’s useful”.

  26. Jamie
    Monday, April 702, 2008

    Snow Crash, how can you not have snow crash!!! I am in the middle of compiling my list, this is a really good reference although I think you are missing a few.

  27. adam
    Tuesday, April 819, 2008

    number three is the book used in an MIT open course ware class…free online courses check it out

  28. dragoneater
    Wednesday, April 935, 2008

    The dragon book is best utilized for toilet paper. Seriously, do not waste your money on it, it’s unreadable!

    I concur on the rest.

  29. _deepfire
    Wednesday, April 959, 2008

    dragoneater wrote:
    > The dragon book is best utilized for toilet paper. Seriously, do not waste your money on it, it’s unreadable!
    > I concur on the rest.

    What book would you propose on compilers, instead?

  30. Jack Diederich
    Thursday, April 1040, 2008

    What, no Stevens?! I’ll nominate “Advanced Programming in the UNIX Environment” a book that still works 15+ years after it was published.

    • Nat
      Monday, February 1445, 2011

      +1. This is the first book I thought of when I read the title of the article.

  31. scott gardner
    Tuesday, April 1525, 2008

    I am amazed at the number of people who put the GOF Design Patterns book on their lists. It makes me wonder if anyone has actually read the book, or just put in down because everyone else has it. The book deserves recognition because it seemed to kick off the patterns idea, but the book itself is not a great read: dense, pedantic and at the same time obtuse (although to be both pedantic and obtuse takes some skill). I found the Head First patterns book and Holub on Patterns to be much more understandable. I was never a fan of the Hitchhiker books, so I would have to replace it with another.

  32. Rad
    Tuesday, October 1448, 2008

    You might be interested in Nigel’s comments. He’s a Ghost developer (as in Symantec/Norton Ghost):


  33. emorieVoicH
    Friday, March 2035, 2009

    very intresting

  34. Bennet Huber
    Wednesday, May 1933, 2010

    Hitchhiker’s Guide should be replaced by Neuromancer by William Gibson, as it is also great book (much better IMHO; I read the first 15 pages of HG and put it down after finding about 50 examples of Douglas Adams contradicting himself, which was a real turn off for me), and it fits better with the other nine listed

  35. Leon Waldman
    Sunday, February 634, 2011

    +1 For Neuromancer…

    In the last 2 books… Douglas Adams… how to say… Lost he’s focus.

    All the other books… I’m still to newbie to have read any… but will! :)

  36. Sajidq
    Saturday, April 1622, 2011

    Very nice selection

  37. Alex Lewin
    Tuesday, April 1933, 2011

    Not a fan of Unix Power Tools. I think it was out-of-date 15 years ago when I read (part of) it–I can’t imagine how it reads now. And it was very uneven, too.

    Granted, it’s been updated a few times since then, but still, there are certainly better books out there to include on such a “desert island” list.

    How about TCP/IP Illustrated? Or The Design and Implementation of the 4.4BSD Operating System?

  38. lusiphurscyla
    Sunday, April 2459, 2011

    You, crazy daisy! recommending the dragon book it’s wicked-wicked. You need much more that a general idea…

    And what about, the TAOCP?

  39. Ruben Berenguel @mostlymaths.net
    Thursday, May 542, 2011

    Looks I’m not the only one who wrote a list of 9 best programming books. I love the fact that you added H2G2 and that we have little overlap (SICP and K&R only). I have been recommended Programming pearls repeatedly, I’ll have to read it.



  40. j
    Thursday, October 1300, 2011

    This edition is bound in beautiful black leather and has a silk ribbon bookmark sewn into it. It’s like reading a very nice Bible, only more believable. (Mandatory disclaimer before any trolls find me: That was a joke.)

    Yeah, and it’s funny beacuse it’s true!
    And good recommendations, thanks!

  41. RSWallace
    Wednesday, November 2318, 2011

    Another essential is The Inmates Are Running The Asylum by Alan Cooper. This volume is subtitled Why High-Tech Products Drive Us Crazy and How to Restore the Sanity. This should say enough to attract some curiosity, I hope, as it seems to be written from both sides of the fence.


Leave a Reply