Эта книга представляет собой один из выпусков очередных томов всемирно известного труда Искусство программирования, не нуждающейся ни в представлении, ни в рекламе. В данный выпуск вошли разделы первого тома, посвящённые RISC-компьютеру MMIX, который заменит прежний компьютер MIX, и языка ассемблера MMIX. Материалы этого выпуска в будущем войдут в первый том серии, посвящённый базовым алгоритмам — возможно, с определёнными дополнениями и исправлениями на основе отзывов читателей данного выпуска.
Donald Ervin Knuth, born January 10th 1938, is a renowned computer scientist and Professor Emeritus of the Art of Computer Programming at Stanford University.
Author of the seminal multi-volume work The Art of Computer Programming ("TAOCP"), Knuth has been called the "father" of the analysis of algorithms, contributing to the development of, and systematizing formal mathematical techniques for, the rigorous analysis of the computational complexity of algorithms, and in the process popularizing asymptotic notation.
In addition to fundamental contributions in several branches of theoretical computer science, Knuth is the creator of the TeX computer typesetting system, the related METAFONT font definition language and rendering system, and the Computer Modern family of typefaces.
A prolific writer and scholar, Knuth created the WEB/CWEB computer programming systems designed to encourage and facilitate literate programming, and designed the MMIX instruction set architecture.
After having read through Volume 1 (3rd. ed.) I wanted to update my understanding on general assembly languages, which this fascicle does pretty well. The MMIX computer is quite easy to wrap one's head around, unlike the original MIX computer, which dealt with strange concepts from the eyes of a 21st century computer science student. Even though it is short, it is by no means a light read, since the MIXAL code within requires careful study, and there's quite a lot of MIXAL within.
Donald Knuth wrote (and still is writing) his magnum opus, coding all the algorithms in assembly code, since he knew that programming languages would come and go, and he would have to rewrite his books. He was right about that.
However, his original hypothetical processor dated over 40 years, and he now uses a 'modern' hypothetical processor, which sort of countered the reason of writing out his algorithms in assembly language in the first place.
Supposedly writing out the algorithms in a modern programming language (whether modern means 1967 or 2017 or 2067) is left as an exercise for the reader.