Hacker News new | ask | show | jobs
by brudgers 2204 days ago
[my standard unpopular answer]

CS is hard for everyone. There are no easy parts. Even for Knuth who has been writing The Art of Computer Programming for almost sixty years. It was started when everybody was self taught. It is still for self-teaching. Even for people with degrees. Even if that degree is a PhD.

Don't get me wrong. I'm not saying "don't use anything else." But TAoCP is the backbone of everything else. It's all the messy details and the messy details matter a big part of the time. It is good to be fearful of the messy details. It is bad to be afraid of them.

Good luck.

2 comments

> But TAoCP is the backbone of everything else. It's all the messy details and the messy details matter a big part of the time.

Can you show me an example of the messy detail that taocp discusses, which other textbooks skip and where this messy detail matters in a big way. Since you have been reading this book for 30 years - you should have at least one example.

As an aside, taocp is not the backbone of "everything else".

Knuth his self offers the mathematics as something that is not for all readers. There are also the 40+ rated exercises and the historical accounts. In volume 4a there are even 40+ rated exercises entailing finding the errors in historical approaches to combinatorics.

Not that that’s anything I am doing. But I just pleasurably whiled away a couple of hours reading about satisfyability and Horne and Krom clauses and Boolean median functions. The section on Horne clauses had some interesting implications for expressing bnf like grammars in Prolog and the Boolean median functions gave me a different way of thinking about consensus. That’s what happens when I pick Knuth up and why I keep doing it even on the thinnest of pretexts e.g. this.

Anyway a backbone is a backbone. Not having fingers and toes and elbows doesn’t change that.

Once again you have not provided any messy details that matter in a big way and cannot be found in other books on the topic.
You are right.
Taocp is absolutely not a good introduction to computer science and is also not advisable as an undergraduate algorithms book.

It is only partially complete and does not touch concurrency, parallelism, complexity theory or the theory of computation. It is more of a comprehensive reference work for a small selection of topics.

The fact that you think taocp is the backbone for everything else tells me that you have not actually read the book, just like everyone else.

You're free to disagree with the advice given here but don't turn this into personal attacks.
I’ve been reading TAoCP for about thirty years. Most of it is still outside my understanding. But nothing has done more to increase my understanding.

Nobody is going to master the material in Knuth. Including Knuth. Even when he finishes.

Can you explain with reference to appropriate section of TAOCP

1. How to parse a context free grammar

2. Cooks Theorem

3. Hindley Milner Type inference algorithm

4. No free lunch theorem in Machine Learning

5. The 2 phase and 3 phase commit protocols

6. The PAXOS consensus problem

7. The Bakers algorithm for mutual exclusion

8. The Diagonalization argument of Alan Turing - The Halting problem

9. The RSA public key encryption algorithm

10. A proof of undecidability via Lambda Calculus

I have a copy, and I could find none of these topics discussed in TAOCP. You can pick up any of these topics and absolutely none of the original works describing these works uses the TAOCP as a front bone/ back bone or anything else.

In fact, TAOCP uses original research work such as those described above as its backbone and summarizes them in a reference. With additional rigorous analysis using MMIX, which the original papers probably skipped.

Either you haven't read the book in any detail or have no idea about how CS research works and how research scholars and professors arrive at new results.