Live data from Hacker News

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

news.ycombinator.com

61–70 of 192 posts

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

#61
I don't think most of us here are the intended audience for a book like this. TAOCP is meant to be a comprehensive compilation of the field of computer science. Such content is useful for people like researchers, lecturers, and those who work on computer languages. But for software engineers - there are much better books that will help you. Some of my favorites:

- pragmatic programmer

- code complete

- hackers and painters

That's not to say his works are 'bad' -- but they are very specialized.

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

#62

Does a christian needs to read the bible to a be christian not really. Same with TAOCP and programmers, but the more you read about CS the more complete of a programmer you become. For example i never thought i would use the basic compiler knowledge i gained during my bachelor. But at one of my first consulting gigs it did helped knowing about abstract syntax tree, where you can add and remove nodes. This knowledge h…

[flagged]

You do know that Knuth is a devout Lutheran, right?

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

#63
TAoCP is a delightfully written comprehensive encyclopedia of computer science for those interested in learning how and why stuff works; it is fundamental theory at its best. Without having read it I would have spent my life without even knowing something like a biased base 3 numeric representation even existed (each digit of a number is represented by 1, 0, or -1 using a radix of 3 -- wonderful!). I have yet to find a practical application for much of what I've read, but maybe that's why it's got "art" right there in the title.

If you're looking for some browser scripting code to cut and paste, you can go to Stack Overflow or Chat GPT to have your thinking done for you. If you want to understand what you're doing, pull out your dog-eared well-worn copy of TAoCP and spend some warm quality time with D. E. Knuth.

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

#65
post #30

A little bit of history about the book series may help understand what is in it. In 1956, Knuth graduated high school and entered college, where he encountered a computer for the first time (the IBM 650, to which the series of books is dedicated). He took to programming like a fish to water, and by the time he finished college in 1960, he was a legendary programmer, single-handedly writing several compilers on par wi…

I would add that one thing which is very relevant today but not covered much is memory hierarchies and parallel/distributed programming. For that you might want to accompany TAOCP with one of the heavyweight teaching books on Parallel Algorithms.

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

#66
Many other commenters apparently take the view that TAOCP isn't much help to a modern, professional programmer.

That's probably true, in the sense that it deals largely with the kind of functionality modern programmer should be calling from a library, not implementing by hand. But I think it's hugely enriching to read these books. I read 1-3 back in the 70s, and was particularly inspired by Sorting and Searching, and especially the chapter on random numbers. RNGs have intrigued me ever since.

I find Knuth's writing style very pleasant. He's funny. So is it worth the time and effort? Not if "worth it" means "makes you a better Javascript programmer". But it's worth it in the sense that reading books about the history and geography of a country is "worth it" before visiting; your appreciation of the place is deepened, possibly transformatively. It could even be that you would never have visited had you not read those books.

I found TAOCP easy to read, much more so than most textbooks. I don't think I tackled many of the exercises; certainly none of the challenging ones. So for me, the "effort" aspect of "is it worth the time and effort" was quite low, so the ROI was quite high. If you find the books hard to read, then don't bother (and perhaps you aren't really interested in low-level algorithms).

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

#67
post #54
post #45

Earlier quoted context omitted.

When the books were written, the target audience would all be writing programs in (very different) machine languages, so the “mix” he created of existing computer architectures was a good one ( https://retrocomputing.stackexchange.com/a/18176 ). The specific MIX language is no longer similar to present-day machines (self-modifying code is out of style, for instance), which is why he came up with "MMIX" and there's a…

For my argument, MMIX is not an improvement because it's still a low-level assembly language. True, you can simply skip over the MIX/MMIX source code, but that doesn't help me to like TAOCP. For me, (abstract) source code is the primary source of understanding a concept, and English text is just an accompanying explanation, not the other way round. Your comments put TAOCP in a historical context. Yes, for the time, T…

Yeah as you say it's just opinion/preference, but re:

> source code is the primary source of understanding a concept, and English text is just an accompanying explanation, not the other way round

note that most algorithms in TAOCP are only described in English (pseudocode), no (MIX) source code. (So if you want source code as primary you simply won't find it… but then again, a typical algorithm textbook like CLRS also would have only pseudocode).

The TAOCP pseudocode is also in a unique style that's not similar to modern programming languages — e.g. here's a note that Knuth wrote just earlier this year: https://cs.stanford.edu/~knuth/papers/cvm-note.pdf explaining (and generalizing/correcting) in his own style, the algorithm from a recent paper (https://arxiv.org/pdf/2301.10191v1.pdf): compare how the algorithm is described in Knuth (first page) vs the paper (second page): Knuth is simultaneously more high-level and more low-level (and also uses “goto” rather than “structured programming” for-loops, about which heretical preference of his I can write a long essay some other time :D).

It is possible to have different opinions about which one is the best way to learn the stuff today, but clearly Knuth rewrote it in his style because he thought it was better. ;)

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

#70
post #30

A little bit of history about the book series may help understand what is in it. In 1956, Knuth graduated high school and entered college, where he encountered a computer for the first time (the IBM 650, to which the series of books is dedicated). He took to programming like a fish to water, and by the time he finished college in 1960, he was a legendary programmer, single-handedly writing several compilers on par wi…

Thanks for the great comment. It made me desire again to buy the books. But I know they will just sit on a shelf mostly unread.

I've wanted to buy these since the late 90s when I used to enjoy thinking about algorithms in the abstract, but never bought them because at the start of my career I felt quite poor and it didn't seem like a good use of my money.

In 2015, I decided I was no longer poor and should buy the box-set as a treat. I set aside time to read a chapter in the first week after it arrived, but realised that it would take years to read and actually understand the material in that one book, let alone the other two. I decided I'd just dig in from time to time, but found that I never actually did, because in all honestly I'm less interested in abstract algorithms now, and prefer to spend free time doing other things in life that don't involve computers.

So, my copy is still essentially untouched after almost a decade.

Post reply on HN