Hi guys : Has anyone out there bought or borrowed books from knuth's four volume set, and if so , do you have a favorite volume or volume which you felt was most usefull to you're everyday career or for interview preparation ?
I just got it...... I like volume 4.... The others seem a little verbose.
Strangely, I looked online for comments such as "Knuth favorite chapter" or "favorite volumes" and found nothing.
I have owned the first 3 volumes for years - haven't really spent much time in Volume 4. Never been particularly useful for interviews, but in my work I've occasionally had to deal with sorts/searches and random number generators (see the quote at the beginning of that chapter ). I don't reference Knuth as much there days, since the platforms I use now have all that stuff built in.
Knuth isn't as useful to me as it could be, because the only thing worse than assembly language when you're trying to get the gist of an algorithm in a hurry is when it's a synthetic assembly language that you don't use on a routine basis. I understand and sympathize with Knuth's position against siding with any particular high-level language and its distractions, but I think Djikstra managed things better.
Another "must-have" reference for me has been the MIT Algorithms book. It is pretty much definitive when it comes to graphing (in the mathematical sense, not the charting sense).
An IDE is no substitute for an Intelligent Developer.
Joined: Aug 30, 2005
Me to. It seems like more of a history lesson than anything else. I really wish somebody would come out with a "education" oriented version of Knuth's work. Skiena's book is also good.
Joined: Aug 30, 2005
NEvertheless... Im still wondering - did you have any volumes or problems or sections of the book that you thought were particularly useful ... ?
I have found "searching and sorting" much more applicable to real world problems than the first two.
There are rumors that Knuth is going to rewrite the first three replacing MIX with a higher level language. Its important to realize that when the first volumes were written, a large portion of the industry was writing in assembly language. Systems implementation languages such as C, Bliss or GO had not been invented. And the quality of code generations within compilers was so bad that it was very hard to compare efficiency of the algorithms.
I recently bought and read Knuth's Concrete Mathematics, hoping it would be interesting. I found it dull, as it focuses on the formal math used for analysis of algorithms. I've got a Mathematics degree, but I found it a slow slog.
The problem with waiting for Knuth to rewrite the first three is that its not clear he will do it before finishing all seven planned volumes. Volume 3 was done in 1973, and Volume 4 is not officially released. That 30 years per volume, which means volume 7 won't be out for 90 more years.
There are many analysis of algorithms textbooks that are more practical than the classics Art of Computer Programming. But my set will stay on my bookshelf until I die.
Pat Farrell wrote:There are rumors that Knuth is going to rewrite the first three replacing MIX with a higher level language.
Knuth's own site describes plans to rewrite in MMIX, which appears to be not really higher-level, but a more modern, RISC-based assembly language.
Pat Farrell wrote:The problem with waiting for Knuth to rewrite the first three is that its not clear he will do it before finishing all seven planned volumes. Volume 3 was done in 1973, and Volume 4 is not officially released.
Volume 4A is out now in hardcover (not the facsicles) - I have it on my shelf. But there are several more sub-volumes planned before he gets to volume 5.
Pat Farrell wrote:That 30 years per volume, which means volume 7 won't be out for 90 more years
Knuth's own estimate is somewhat rosier, but I don't know how much it can be trusted. He predicts vol 5 will be in 2020, presumably after the rest of vol 4 is completed. The revision of 1-3 would come after that. Vols 6 and 7 are apparently considered optional now: "only if the things I want to say about those topics are still relevant and still haven't been said. Volumes 1--5 represent the central core of computer programming for sequential machines; the subjects of Volumes 6 and 7 are important but more specialized."
Knuth is now 73, so in practice I suspect the series will eventually completed by some posthumous collaborator. It sounds like he may have some work done already for future volumes, but organizing it into a cohesive final form will take some effort. I hope he at least completes 4 and 5 while still alive; updating 1-3 can be outsourced to others I think. But we'll see.