Hacker News new | ask | show | jobs
by tzs 3077 days ago
You almost certainly already know this, but this is a good place to mention it for those who might not: when reading these books for pleasure or personal interest, as opposed to just trying to get an answer to "I need to do X...what should I do?", don't overlook earlier editions.

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.

1 comments

Additionally, the difficulty points on some problems changed as new proofs were discovered. In particular, Fermat's last theorem went from M50 (math required, Research problem) to HM45 (Higher math required, more than a team project but less than a Research problem).

Additionally, somewhere along the way, the marvelous tape sorting fold out pages have dissappeared from the Sorting and Searching volume.

It's been 40 years or so since I read TAOCP in any depth. But you seem pretty familiar with it, so I'll ask you the following, maybe you remember:

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 am familiar with some sections of it.

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.