How many of you actually read these books carefully?
How many of you actually read these books carefully?
I've found a suspiciously high percentage of the people who have totally! read the Art of Computer Programming are unable to answer even basic questions about MIX, by the way.
(Knuth denies this ever happened.)
Reading can just mean reading word by word, symbol by symbol then putting the book on the shelf. That ends up happening a lot with material that has a lot of formulas and theorems. It could take days for some to understand just a couple of pages.
So basically I not surprised at all that you've met so many people who've read the volumes, but didn't all the subtleties.
I think reading the volumes is the next step in status show-off step after buying and putting them on the shelf.
Also, as many have pointed that MIX is just too obscure. Not knowing much about doesn't really indicate a lack of theoretical knowledge. I would personally skipped over those chapters.
I've seen several equally dense, informative CS books (such as Dick Grune's _Parsing Techniques: A Practical Guide_), but Knuth has a specific sort of cachet among xkcd-quoting geek hipsters, so people namedropping him, make a pretense of having read them all the way through, etc.
A person can go pretty far doing web work and using scripting languages, but when you get into serious programming (heavily concurrent, resource-critical, real-time, etc) you need to understand the fundamentals.
Having Knuth up on the shelf reminds me to take a second and say, "Hey, think this through some more. Knuth probably figured it out already."
2. There's nothing wrong or status-symbol-y about using books of this sort for reference, and reading only the bits one needs.
http://www.amazon.com/Algorithm-Design-Jon-Kleinberg/dp/0321...
http://www.amazon.com/Introduction-Algorithms-Third-Thomas-C...
I have read CLRS (the second book in your list); it's really great as an introductory text as it spans a lot of areas. For example, sorting/searching is a chapter in CLRS, while it's a volume in itself in TAOCP (The Art Of Computer Programming). Also, CLRS is written in the style of a textbook, rather than a reference and a newbie would find it easier to follow. And, TAOCP is more of an in-depth reference to practically everything that has been researched in that field so far.
Does TAOCP cover any of those?
There are also going to be a lot of pointer based tricks that you don't get unless you really understand pointers.
I purchased my copies individually (back when I was a student and I could ill afford them) and, ignoring Knuth's suggesting algorithm for reading the series, read the "interesting" sections quite carefully. I still use them for reference and occasionally find time to re-read parts of it.
(I bet some people do buy Knuth as a sort of status signal to themselves, though.)