
The Top 9½ Books In a Hacker's Bookshelf - nreece
http://grok-code.com/11/the-top-9-in-a-hackers-bookshelf/
======
brent
Here is my list. It is probably not a good hacker list, but a
CS/ML/bioinformatics list.

Structure and Interpretation of Computer Programs (SICP), Abelson & Sussman

The Little Schemer, Friedman

The C Programming Language (K&R), Kernighan & Ritchie

The Analysis of Algorithms, Purdom & Brown

The Elements of Statistical Learning, Hastie, Tibshirani, Friedman

Biological Sequence Analysis, Durbin et al.

Artificial Intelligence: A Modern Approach, Russell & Norvig

Introduction to the Theory of Computation, Sipser

Introduction to Linear Algebra, Strang

GEB is my 1/2

~~~
henning
Your list seems more tuned to hacking than the OP's, which seems oriented
towards working on large teams on boring legacy software.

------
mdemare
Another list (mine):

1-4: Books on computer organization, operating systems, networks and
distributed systems (I like the ones by Tanenbaum, but there are many).

5: Another about compilers/languages (the dragon book is a classic, but there
are many others).

6: Something about Lispy-languages (e.g. SICP, but the Little/Seasoned Schemer
is another favorite).

7: A book about algorithms. I have Knuth, but something less thorough covering
a wider area may be preferable.

8: A book about the practice of programming. My favorite is The Pragmatic
Programmer.

9: A book about software engineering as a profession (I recommend Peopleware.)

------
henning
The thing to note about Code Complete is that you can read it very profitably
in small chunks.

Curling up with a big fat book and reading about whitespace for 45 minutes
isn't very rewarding in my opinion.

Just glancing at it occasionally will have you dropping your jaw at code you
wrote in a hurry 6 months ago.

~~~
yters
Anyone else think this was codified common sense when you first read it? Seems
to be the case with a lot of software engineering stuff I read. I have trouble
thinking of anything truly insightful my exposure to software engineering has
taught me.

------
st3fan
Two books that every serious networking/unix hacker must have:

1\. Advanced Programming in the UNIX environment

2\. TCP/IP Illustrated

Both written by Richard Stevens.

------
lux
I'll have to think about others still (or turn around and look ;), but
"Mastering Regular Expressions" (O'Reilly) really helped me many moons ago. I
just bought the latest edition recently to see what's new, and to finally have
a copy for my shelf.

~~~
brianr
Mastering Regular Expressions is by far the best-written technical book I've
read. It's amazingly concise and well-explained.

------
mynameishere
"Design Patterns" is poison.

~~~
sah
I strongly agree. This is one of the better essays on why:
<http://blog.plover.com/2006/09/11/>

One point it unfortunately doesn't cover is the large percentage of Go4
patterns that are just plain bad ideas. Singleton, for example, should just
never be used: it's like relying too much on global variables, but worse.

~~~
boucher
I agree that the book is way too overused. I was immediately turned off when I
would interview people who started talking in design patterns (not to mention
people who would say the wrong ones).

However, I think there are completely valid uses of the "Singleton" concept.
It can be an elegant solution to a lot of problems.

~~~
sah
I'd like to hear about valid uses of Singleton. I'm not completely sure there
aren't any, but I don't think I've ever seen one.

~~~
icky
It has the same use as most of the patterns: working around the brokenness of
the popular OO languages of the time.

~~~
icky
To the anonymous downvoter, evidence of your ignorance:

<http://norvig.com/design-patterns/>

~~~
boucher
I fail to see how this is evidence of anyone's ignorance.

~~~
icky
Read the slides.

------
lux
What about less code-specific books, like "Cathedral & the Bazaar"? I find my
shelf ends up with a fair amount of these compared to code/code theory books.

I'm also reading "Programming Collective Intelligence" right now which is
pretty awesome so far!

------
laktek
Oh where's Pragmatic Programmer ? That's a must read for every hacker.

------
tptacek
I stopped reading when I saw "Code Complete".

~~~
icey
I don't get it. I've read Code Complete and it seemed like a fine enough book.
What is your point?

~~~
tptacek
I actually like Code Complete, too. But my point is, I doubt anyone ever
became a better hacker for reading it. Compare to the Dragon book, which, if
you haven't read a book on compilers, is virtually guaranteed to make you
better.

~~~
Tichy
Depends how you define hacker. I prefer to work with programmers who have read
it to working with programmers who haven't.

~~~
icey
I'd go one more step general than that. I prefer to work with programmers who
read to those who don't. After that, it's all implementation details.

