Live data from Hacker News

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

news.ycombinator.com

21–30 of 141 posts

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

#21
I wouldn't necessarily read it cover to cover. I did that with volume 1 and found it interesting, but I could have done without the assembly implementations. Assembly is highly dependent on the hardware capabilities. It feels to me like C or some other close to the metal language would have been more useful.

I keep volumes 1 and 2 on my desk in case I ever need to refer to them for information about a specific topic, but I have yet to actually open them.

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

#22

> 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…

I read (and understood) volumes 1 to 3 (text, exercises and answers to the exercises, insofar they are present). It is not that hard to read, if you combine it with the right set of university courses in discrete math, combinatorics, and number theory, and some hacking on a 80's home computer (teaches one assembler)

Especially without those math courses, I imagine it will be a tougher read, certainly for those grown up with multi-mega or multi-gigabyte machines who expect it to be on programming, not computer science.

And it isn't 60's era formalism, it is low-level computer science.

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

#23

> 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.

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

#24
Knuth's books are a baseline for "how things are done" for many, many areas, so having read them lets you hit par on most holes. Optimizing code for an architecture is very interesting, but it comes after 1) figuring out which ways the math can be stated correctly and 2) calculating the order of computation. Then architecture gives numbers to put into the order of computation. Knuth focuses on the first two, but maybe a few books' worth of focusing on those is understanding them well and not such a waste.

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

#25
It's not useful as a reference, but it is full of delight – though only if you actually do the problems. Many of them are chains of inquiry that build on each other and culminate in some result that gives you so much intuition about whatever it was they were dealing with.

If you're in the Toronto region, I actually run a reading group for these books: http://www.meetup.com/Knuth-Reading-Group-Art-of-Computer-Pr.... We get together about once a month and go through the problems together. Just last night we had a 2.5-hour session about only section 2.3.4.1. I doubt you'd be able to get this much content from a sub-sub-sub-section of CLRS.

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

#26
post #22

> 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…

I read (and understood) volumes 1 to 3 (text, exercises and answers to the exercises, insofar they are present). It is not that hard to read, if you combine it with the right set of university courses in discrete math, combinatorics, and number theory, and some hacking on a 80's home computer (teaches one assembler) Especially without those math courses, I imagine it will be a tougher read, certainly for those grown…

It's OK. You may display that book prominently and proudly on your cubicle's bookshelf. You've earned it! ;)

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

#27
post #19

> 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…

And this shows a huge folly in our industry. Short answer, is the book easy? Of course not. Is it dated in approach? Yes. Sorta. What would make it better? A modern language? Why? Consider, just yesterday there was someone designing an elevator system using python. That is literally one of the first examples in TAoCP. Not long ago, there was an article about how linear search with sentinel values is actually faster t…

> But, there is a lot to offer in the industry of programming. Knuth picked an order to offer this information and is going in that order.

Perhaps it's sacrilege, but I've always considered it kind of weird to take on a project like TAOCP in a field that's growing far faster than it can be documented by one person.

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

#28
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.

> Embedded computing is still huge and has drastically different performance requirements

Even chips as small Cortex-M4 has a write buffer, 3-stage pipeline and branch speculation. And real embedded computing is more and more utilizing hardware similar to desktop/mobile/server. You can't run self-driving car / neural networks / image processing on a single threaded CPU with no cache or branch prediction.

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

#29
post #27
post #19

Earlier quoted context omitted.

And this shows a huge folly in our industry. Short answer, is the book easy? Of course not. Is it dated in approach? Yes. Sorta. What would make it better? A modern language? Why? Consider, just yesterday there was someone designing an elevator system using python. That is literally one of the first examples in TAoCP. Not long ago, there was an article about how linear search with sentinel values is actually faster t…

> But, there is a lot to offer in the industry of programming. Knuth picked an order to offer this information and is going in that order. Perhaps it's sacrilege, but I've always considered it kind of weird to take on a project like TAOCP in a field that's growing far faster than it can be documented by one person.

The fundamentals of computation remain the same.

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

#30
Not really. There are a few gems here and there in the text, but overall it is a slog. CLRS is a better text book for getting up to speed in algorithms. If you are going to read it though, the volume on searching and sorting is probably the best. I didn't much like volume 1.
Post reply on HN