Live data from Hacker News

Ask HN: Is Knuth's TAOCP worth the time and effort?

news.ycombinator.com

51–60 of 141 posts

Re: Ask HN: Is Knuth's TAOCP worth the time and effort?

#51
post #42

Earlier quoted context omitted.

> "but even just looking at actual computer science stuff, the field is expanding rapidly." Is it though? Hash tables - 1953, Red-Black trees 1972, Quicksort 1959, etc...

Look at Knuth's future book plans, and consider all the things he's not putting in them that are current. He's also revisited the books some, and plans to do so again in the future. I don't mean to take away from the books - they're beautiful and full of a lot of timeless knowledge. There's just something that seems a bit ... I can't even find a word for it ... about the endeavor.

It would really help if you could list some specific ways that the theory of computation has changed since the writing of TAOCP, and some evidence for why you think that theoretical CS is changing faster than can be documented.

Re: Ask HN: Is Knuth's TAOCP worth the time and effort?

#52
post #46
post #11

pipeline stalls, designing for cache performance, branch prediction, multithreading, etc. Those are issues for a subset of computer hardware. Embedded computing is still huge and has drastically different performance requirements. TAOCP is designed to stand the test of time, not focus on micro-optimizations that generally have limited performance impact and are a waste of time 99% of the time.

> TAOCP is designed to stand the test of time, not focus on micro-optimizations . . . Hmmm. My edition of "Sorting and Searching" has a section devoted to tape-sorting.

Same strategies apply to NUMA.

Re: Ask HN: Is Knuth's TAOCP worth the time and effort?

#55
Donald Knuth is actually a great writer and teacher. Try Concrete Mathematics instead of TAOCP, it is a shorter and easier introduction: http://amzn.com/0201558025.

It is humorous and it includes notes from past students in the margin. I really enjoyed it.

Shameless plug: I wrote an illustrated book on algorithms that aims to be an easier read than TAOCP, CLRS and others: http://amzn.com/1617292230.

Re: Ask HN: Is Knuth's TAOCP worth the time and effort?

#56
post #42

Earlier quoted context omitted.

Look at Knuth's future book plans, and consider all the things he's not putting in them that are current. He's also revisited the books some, and plans to do so again in the future. I don't mean to take away from the books - they're beautiful and full of a lot of timeless knowledge. There's just something that seems a bit ... I can't even find a word for it ... about the endeavor.

It would really help if you could list some specific ways that the theory of computation has changed since the writing of TAOCP, and some evidence for why you think that theoretical CS is changing faster than can be documented.

TAOCP has not been written, several volumes of it have. It remains to be seen whether Knuth will even be able to finish what he set out to do, let alone include new things.

> faster than can be documented.

By one person, I wrote.

Here's one that I think is interesting, difficult and evolving: distributed systems. This shows interesting work happening with version vectors, for instance, over the past 15 years: https://en.wikipedia.org/wiki/Version_vector

Re: Ask HN: Is Knuth's TAOCP worth the time and effort?

#57
post #32

Earlier quoted context omitted.

Certainly, I realize he's not writing about the cool new library for Python or something, but even just looking at actual computer science stuff, the field is expanding rapidly.

> "but even just looking at actual computer science stuff, the field is expanding rapidly." Is it though? Hash tables - 1953, Red-Black trees 1972, Quicksort 1959, etc...

Knuth doesn't cover red black trees.

Re: Ask HN: Is Knuth's TAOCP worth the time and effort?

#58
post #31

> based on its stellar reputation as one of the indispensible, foundational computer science books that every programmer should read. A while back, I was joking with some friends that TAoCP is to the programming world what Finnegans Wake is to English literature: you're not supposed to read it, nobody's ever actually read it. We all just say we've read it, talk about how brilliant it is, and place it prominently on o…

> "It's a pleasure to meet you, Professor Knuth," Steve [Jobs] said. "I've read all of your books." > "You're full of shit," Knuth responded. ( http://www.folklore.org/StoryView.py?story=Close_Encounters_... ) Yes, now we know that this never happened, but I like to think it did.

He could respond that way to everyone.

In every full set of TAOCP, there is a sentence that reads "If you have read this far, mail this string to the author to collect $25." The sentence is followed by a 10 character alphanumeric string. The string and placement of this sentence is randomized: different in every set.

To this day only 3 people have collected their checks. All three have them framed on their walls.

Re: Ask HN: Is Knuth's TAOCP worth the time and effort?

#59

> based on its stellar reputation as one of the indispensible, foundational computer science books that every programmer should read. A while back, I was joking with some friends that TAoCP is to the programming world what Finnegans Wake is to English literature: you're not supposed to read it, nobody's ever actually read it. We all just say we've read it, talk about how brilliant it is, and place it prominently on o…

In truth, if you haven't actually read Finnegans Wake, you've missed a grand literary experience.

I took a class on FW in college, and that definitely helps. Perhaps the book is "hard," but it is hilarious. I can't read a page of it without finding something laugh out loud funny. If that is hard, bring it on. The book really has no beginning or end so feel free to jump around at will. I don't think it is good comparison to taocp.

Re: Ask HN: Is Knuth's TAOCP worth the time and effort?

#60
post #5

The term programming here is used with the same semantic definition as "dynamic programming" or "linear programming". Don't expect the book to touch on how to code fast algorithms, rather expect Knuth to teach you the inner workings of the algorithms regardless of their implementations. Computer science and software development are usually thought to be the same by non computer scientists, but in reality computer sci…

Umm, no. "Programming" in "TAOCP" actually refers to "making step by step recipes for a computer" to execute (and is prefixed by the word "Computer" to make this clear). In "linear programming" it refers to something completely different, namely the planning of the use of resources or optimization. "Dynamic programming" is yet something else: a narrow cluster of techniques having to do with memoization in order to he…

Umm, no. You got half the concept right. Programming, especially in the 70s refers to a set of instructions to be followed in order to achieve a specific task.

When you prefix it with "computer" you're specifying the domain, namely all instructions that will allow a computer to do something. Like you correctly mentioned, when prefixed with "dynamic" you're specifying the set of instructions that have a common approach (to break problems into subproblems, etc etc). Similarly, when saying "linear" before "programming" you're specifying that the instructions involving this set use linear variable constrains.

Post reply on HN