Hi, I'm Jess. I use Python to craft web apps and sift data. I'm honing my full-stack development chops on Author Alcove.
wuah… nice books review. I like review book #1. thx. :)
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?
@chi Yup, I didn’t feel right calling it a top ten when the Hitchhiker’s Guide didn’t exactly fit.
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.
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.
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)
Knuth’s TAOCP needs to be on the list
N.B. A 2nd edition of the dragon book came out last year: http://www.amazon.com/gp/product/0321486811/
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.
@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.
No TCP Illustrated??? Must have!.
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
s/Code Complete/Pragmatic Programmer/, but otherwise that could be my bookshelf.
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.
I second Ken Nickerson, excpet for Wienberg’s “Becomeing a technical team leader (http://www.dorsethouse.com/books/btl.html).
the art of unix programming by eric raymond
How about Computer Organization & Design? I’d say understanding how a computer works is pretty essential…
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.
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_.
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.
Ooops – I meant “Test Driven Development”, not “Design”. But it is a design practice too.
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
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.
The Dragon Book received an update last year.
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. Even if you’re not coding on Unix, the approaches laid out in the book should make you a better coder.
 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”.
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.
number three is the book used in an MIT open course ware class…free online courses check it out
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.
> 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?
What, no Stevens?! I’ll nominate “Advanced Programming in the UNIX Environment” a book that still works 15+ years after it was published.
+1. This is the first book I thought of when I read the title of the article.
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.
You might be interested in Nigel’s comments. He’s a Ghost developer (as in Symantec/Norton Ghost):
SICP can be read for free and even more – there are video recordings of the classes available for free download (I don’t have the link right now, but it should be pretty easy to find).
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
+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! :)
Very nice selection
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?
You, crazy daisy! recommending the dragon book it’s wicked-wicked. You need much more that a general idea…
And what about, the TAOCP?
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.
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!
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.
Notify me of follow-up comments by email.
Notify me of new posts by email.
Browse the article archives.
You can have new articles delivered to your inbox.
© 2007-2015 GrokCode