Hi my first question … I start reading ‘The Art of Computer Programming’. I know it’s hard. First I decide to lean the language of book – I start with MIX. I made some exercises and I think I can manages with programs in the book. But the problem is everywhere I wrote, MIX is old, learn MMIX and so on. OKS, but why - this my question? I am learning 1 moth MIX and I start to understand problems in book and now stop working and start learning new ASM again, why? Say, MIX is old, but all code in the book is MIX if I spend time to learn MMIX I have to rewrote problems again, I think it will be very hard for me. Does MIX is so old that I really must learn new version? Can some one who have more experience with TAOCP to dive me an advice: Go on with book – examples, problems and so on in MIX or Stop to learn MMIX. And, of course what I will win if I do the first or second choice?
MIX or MMIX - what is the best
3k views Asked by next_for At
2
There are 2 answers
0
On
Donald Knuth will convert the new editions of TAOCP to use MMIX. So the new volume, that just came out Volume 4A on Combinatorial Algorithms is already using the new MMIX. So if you want to read the new stuff, you need MMIX anyway. The support for MMIX relative to MIX is also becomming better. Check the MMIX repository at http://www.mmix.cs.hm.edu it contains executables for windows and linux and all kind of documentation. Last not least, MMIX has a sophisticated pipeline simulator, that comes very close to real modern machines, and MIX is not anything like it. So for someone with a serious interest MMIX is recomended. Martin
MMIX is superior to MIX in just about every way. Fascicle 1 of Volume 1 explains why, in detail. Fortunately, if you've already learned MIX, learning MMIX shouldn't be too hard.
Rewriting the exercises you have already completed in MIX should not be difficult in MMIX; if it is, it suggests that you don't really grasp the algorithms in question.
Remember: the vast majority of the algorithms in TAOCP are described in English, not in MIX or MMIX.
However: if your goal is to be a "real software engineer", or even to be better at algorithms, TAOCP may not be the best place to start.
I'd recommend you take a look at the MIT OCW "Introduction to Algorithms" course taught by Leiserson and Erik Demaine. You can find links to it, along with a nice commentary, at http://www.catonmat.net/blog/mit-introduction-to-algorithms-part-one