Donald Knuth turns 80, seeks problem-solvers for The Art of Computer Programming
developers.slashdot.org
developers.slashdot.org
All of Knuth's work on TAOCP since Volume 3 (basically everything that he's written for 4A and 4B, starting over a decade ago) is essentially available for free online, in the form of preliminary drafts that Knuth put up online. You can find them nicely collected here: http://www.cs.utsa.edu/~wagner/knuth/ Of course the pleasure of holding a beautiful hardcover book in your hand is missing, but all the content is mostly there.
To answer your earlier question, not many people have read all the books in their entirety, though there are a few. This is simply because the books go very deep on their topics, and most people would prefer to just dip in.
I read a few pages of one of the recent fascicles a while ago, doing all the exercises etc. It was a lot of fun, and also took about a month to read about a dozen pages. But the experience was rewarding (also got a check from Knuth!), and the writing in TAOCP was easier to understand than it would have been to read the original papers that he had digested. (Comment about this a few months ago: https://news.ycombinator.com/item?id=15035767)
These books are not like too many textbooks today, where new editions are largely minor tweaks and maybe some changed exercises in order to make it harder for students to get by with used copies from prior years.
With Knuth, a new edition means there have been many very significant changes. Whole new algorithms are added, and older ones are dropped.
For example, the section on arbitrary precision integer multiplication in Volume II underwent major changes from 1st to 2nd edition, and even bigger changes from 2nd to 3rd edition.
If you just need to implement arbitrary precision multiplication, 3rd edition is for you. But if arbitrary precision multiplication is something that is interesting enough to you that you are actually studying it for fun, you'll probably want all three editions of Volume II.
Additionally, somewhere along the way, the marvelous tape sorting fold out pages have dissappeared from the Sorting and Searching volume.
I think it was somewhere in Volumes 1, 2 or 3 (but maybe an entirely different book not even by Knuth) where one of the exercises says something like:
19. M50 ...solve this quite complex problem .... For the instructor who assigns all odd numbered exercises.
A little bit of humor in an otherwise quite dry set of books.
I don't remember that particular one, but there are odd bits of humor throughout his work. "MIX is the world's first polyunsaturated computer."
Browsing through it again, I see a reference in section 1.2.8 about Fibonacci numbers, problem 37 references a paper by R. E. Gaskell and M. J. Whinihan. I worked with Mike Whinihan in a previous lifetime. He got his PhD in economics at U of Chicago in just three years, to the dismay of his classmates. He wrote that paper "Fibonacci Nim" when he was in High School. And looking at the beginning of Chapter 2 "Information Structures" he mentions structures in "algebraic language like FORTRAN, C, or Java" (third edition). In the first edition, neither C nor Java had yet been invented.
I have read some sections in great detail, e.g., the section on multi-precision arithmetic. This was essential for writing floating point libraries.
On page 189 of Volume 2 (Third edition) there are two paragraphs discussing previous literature, including bibliographies. I do recall prior to the publication of Vol 2 that there were numerous ACM articles discussing this topic.
But Knuth's exposition is certainly comprehensive compared to anything else.
(But I don't see anything about CSPRNG)
The exercises are, if anything, underrated.
Though, I'll admit I have purchased several 'classic' CS books over the years that have been sitting on my bookshelf, unread, for an embarrasingly long period of time.
At one point I thought, maybe if I read just one page a day I can digest I’ll eventually finish it all some day, but sadly it will take more commitment than that.
Also, I’m not really sure what the benefit will be in the end or what difference it will make to my life.
The same can be said for any book.
If you read them, they will benefit your life immensely imho.
So few people have read TAOCP that there's not really much information out there about how it benefits them, if at all. The problem with books that go very deep into niche topics is you might never find something that relates to that topic in your actual life in some meaningful way.
For some motivation, you might still get a check from Knuth if you find an error. https://en.wikipedia.org/wiki/Knuth_reward_check
https://www.amazon.com/Art-Computer-Programming-Vol-Fundamen...
I'm very interested in SAT solvers, as this has deep connections to statistical mechanics and condensed matter physics.
His programs (SAT solvers) are also available on his site at https://cs.stanford.edu/~knuth/programs.html (They are in CWEB and you'll have to use cweave and ctangle to read and run those programs respectively; if you just want to read I've typeset them here: https://github.com/shreevatsa/knuth-literate-programs/tree/1...)
Knuth has also given a couple of talks about satisfiability around the time he wrote the book:
- https://www.pathlms.com/siam/courses/3028/sections/4140/vide... (July 2016, at SIAM Annual Meeting)
- https://www.youtube.com/watch?v=g4lhrVPDUG0 (December 2016, at Brown University)
Look at https://cs.stanford.edu/~knuth/news16.html#lectures for slides and handouts from these talks.
A lesson in commitment and perseverance for me. And a very funny talk as well (Knuth likes jokes!)