2 ms·
Totally agree. It doesn't help at all. Pseudocode would have benn sufficient. Fake machine code? Nope.
by dirtydroog 7y ago
Totally agree. It doesn't help at all. Pseudocode would have benn sufficient. Fake machine code? Nope.
- kick 7y agoMMIX programs can actually be run, and MMIX has multiple simulators. Actual MMIX chips can be made. MMIX also allows students to reason about the properties of modern chips without experiencing quite the complexity they'd have to deal with normally. This is valuable for many reasons.
- pmiller2 7y agoYes, that's part of the tradeoff between (what could theoretically be) actual machine code and pseudocode. The other advantage of a language like MMIX is, as another comment stated, you can't ignore things in the cost model. This allows more precise calculations of what the runtime of these algorithms is. OTOH, pseudocode is easier to understand, partially because you don't have to think about some of those extra things that don't actually matter in the cost model. For an expository text (and, TACOP is an expository text), I think MMIX comes down on the wrong side of the tradeoffs.
- dirtydroog 7y agoThings like branch prediction, caches, instruction pipelining? Not really. People want the algorithm, not a difficult to translate implementation.
- kick 7y agoTo paraphrase Knuth in what I think was a Dr. Dobbs interview: the book isn't for those people, then; they should make their own book.