Hacker News new | ask | show | jobs
by jll29 21 days ago
I agree with that opinion. He started writing TAOCP in 1968, and could have switched to Pascal in 1972.

Pascal is simple and clear, and can be translated easily to anything from LISP, Fortran, Python to C or C++ (in fact, subsets of Pascal are often used as sample language in books about compilers, including in Pascal inventor N. Wirth's own compiler book (which, unlike Knuth's, was completed timely):

Wirth, Niklaus, Compilers (1996), 101pp., 2rd revision, 2017, online: https://people.inf.ethz.ch/wirth/CompilerConstruction/Compil..., last accessed 2026-07-07).

It does not matter that Pascal is not much in use anymore, because due to its readability, it's timeless. It nearly reads like English prose, yet is automatically executable. It has also been standardized, and there is a book-sized language description available, as are several -- commercial and open source -- implementations.

In contrast, his pseudo-assembler is arcane. Whenever I wanted to implement an algorithm following Knuth TACOP, I had to work off his English pseudo-code description rather than the associated pseudo-assembler code.

1 comments

You might have skipped the introduction, but the pseudo-assembler is MIX assembly language, and the hypothetical mythical machine is a central part of TAoCP. The main idea is to show how a computer works at the machine level and implement everything from the ground up, using first principles and mathematical rigor. You are right that the mythical machine itself got old, which is why it was superseded by MMIX.

So no, it’s not a blunder by DEK to avoid abstracting the complexity into higher-level languages, nor to have not written it as a handbook. TAoCP is not a handbook-like book, it is well beyond that. There are plenty of books for that. For that purposes, you might consider consulting CLRS or Skiena instead.