こんにちは、最初の質問です。「The Art of Computer Programming」を読み始めました。私はそれが難しいことを知っています。まず、本の言語を学ぶことにしました。まず MIX から始めます。いくつかの演習を行いましたが、本のプログラムで管理できると思います。しかし、問題は私が書いたどこにでもあり、MIXは古い、MMIXを学ぶなどです。OKS、しかしなぜ - これは私の質問ですか? 私は 1 か月 MIX を学習していますが、本の問題を理解し始めましたが、作業を停止して新しい ASM の学習を再開しました。なぜですか? MIX は古いですが、本に書かれているコードはすべて MIX です。時間をかけて MMIX を学習すると、問題をもう一度書き直さなければならず、非常に困難になると思います。MIX は古いので、本当に新しいバージョンを学ばなければなりませんか? TAOCP の経験が豊富な人からアドバイスをもらえますか: MIX の例、問題などの本を読み続けるか、MMIX を学ぶのをやめてください。と、
2 に答える
MMIX は、ほぼすべての点で MIX よりも優れています。第 1 巻のファシクル 1 では、その理由が詳しく説明されています。幸いなことに、すでに MIX を学んでいるのであれば、MMIX を学ぶのはそれほど難しいことではありません。
MIX で既に完了した演習を書き直すことは、MMIX では難しくありません。もしそうなら、問題のアルゴリズムを本当に理解していないことを示唆しています。
注意: TAOCP のアルゴリズムの大部分は英語で記述されており、MIX や MMIX では記述されていません。
ただし、あなたの目標が「真のソフトウェア エンジニア」になること、またはアルゴリズムをより良くすることでさえある場合、TAOCP は出発点として最適ではない可能性があります。
Leiserson と Erik Demaine が教えている MIT OCW の「Introduction to Algorithms」コースをご覧になることをお勧めします。http://www.catonmat.net/blog/mit-introduction-to-algorithms-part-oneで、すばらしい解説とともにリンクを見つけることができます。
Donald Knuth は、TAOCP の新版を MMIX を使用するように変換します。そのため、コンビナトリアル アルゴリズムに関する第 4A 巻から出たばかりの新しいボリュームでは、既に新しい MMIX が使用されています。したがって、新しいものを読みたい場合は、とにかく MMIX が必要です。MIX に対する MMIX のサポートも改善されています。MMIX リポジトリ ( http://www.mmix.cs.hm.edu ) を確認してください。これには、Windows と Linux の実行可能ファイルとあらゆる種類のドキュメントが含まれています。最後に、MMIX には洗練されたパイプライン シミュレーターがあり、実際の最新のマシンに非常に近く、MIX はそのようなものではありません。なので、本気で興味のある方はMMIXがお勧めです。マーティン