Every time I think "today is the day when I'm actually going to work through some of TAOCP" I remember that I'd have to learn MMIX.
Knuth is obviously one-of-a-kind, but for me personally learning a new architecture requires more brain space than I have to spare, and pretty much guarantees I'll never read it. Which makes me a bit sad.
I know that at the time, C looked like it might pass by like Pascal did before it, but in retrospect I think C would have aged far better and made the book far more approachable.
It's a bit ironic, because one of the main justifications for using a machine language was that high-level languages go in and out of style. But Knuth did not avoid this himself, as MIX (a CISC-like architecture) was obsoleted and had to be replaced with MMIX (a RISC-like architecture)!
You don't actually need to use MIX; my course used TAOCP and skipped most of the assembly-level stuff, and everyone did fine just psuedo-coding things. I've never written a single line of MIX.
Knuth is obviously one-of-a-kind, but for me personally learning a new architecture requires more brain space than I have to spare, and pretty much guarantees I'll never read it. Which makes me a bit sad.
I know that at the time, C looked like it might pass by like Pascal did before it, but in retrospect I think C would have aged far better and made the book far more approachable.
It's a bit ironic, because one of the main justifications for using a machine language was that high-level languages go in and out of style. But Knuth did not avoid this himself, as MIX (a CISC-like architecture) was obsoleted and had to be replaced with MMIX (a RISC-like architecture)!