Hacker News new | past | comments | ask | show | jobs | submit login

Totally agree. It doesn't help at all. Pseudocode would have benn sufficient. Fake machine code? Nope.



MMIX 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.


Yes, 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.


Things like branch prediction, caches, instruction pipelining? Not really. People want the algorithm, not a difficult to translate implementation.


To 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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: