5

嗨,我的第一个问题……我开始阅读“计算机编程的艺术”。我知道这很难。首先,我决定使用书籍的语言——我从 MIX 开始。我做了一些练习,我认为我可以使用书中的程序进行管理。但是问题到处都是我写的,MIX老了,学MMIX等等。好的,但是为什么-这是我的问题?我正在学习 1 moth MIX,我开始理解书中的问题,现在停止工作并再次开始学习新的 ASM,为什么?话说,MIX老了,但是书里所有的代码都是MIX,如果我花时间学习MMIX,我得重新写问题,我想这对我来说会很困难。MIX是不是太老了,我真的必须学习新版本吗?有更多TAOCP经验的人可以给我一个建议:继续看书——MIX中的示例、问题等,或者停止学习MMIX。和,

4

2 回答 2

3

MMIX 在几乎所有方面都优于 MIX。第 1 卷的第 1 卷详细解释了原因。幸运的是,如果您已经学习过 MIX,那么学习 MMIX 应该不会太难。

在 MIX 中重写你已经在 MIX 中完成的练习应该不难;如果是,则表明您并没有真正掌握所讨论的算法。

请记住:TAOCP 中的绝大多数算法都是用英文描述的,而不是 MIX 或 MMIX。

然而:如果你的目标是成为一名“真正的软件工程师”,甚至更擅长算法,TAOCP 可能不是最好的起点。

我建议你看看 Leiserson 和 Erik Demaine 教授的 MIT OCW “算法简介”课程。您可以在http://www.catonmat.net/blog/mit-introduction-to-algorithms-part-one找到指向它的链接以及很好的评论

于 2010-12-16T14:59:02.133 回答
2

Donald Knuth 将转换新版本的 TAOCP 以使用 MMIX。因此,刚刚出版的第 4A 卷关于组合算法的新卷已经在使用新的 MMIX。因此,如果您想阅读新内容,无论如何都需要 MMIX。相对于 MIX 对 MMIX 的支持也越来越好。检查http://www.mmix.cs.hm.edu上的 MMIX 存储库,它包含适用于 windows 和 linux 的可执行文件以及所有类型的文档。最后同样重要的是,MMIX 有一个复杂的管道模拟器,它非常接近真正的现代机器,而 MIX 与它完全不同。因此,对于有浓厚兴趣的人,建议使用 MMIX。马丁

于 2011-05-20T16:08:41.940 回答