Arc Forumnew | comments | leaders | submitlogin
1 point by akkartik 5118 days ago | link | parent

He elaborates on the idea in a section titled 'A confession' that is worth reading in isolation:

"My books emphasize efficiency because they deal with algorithms that are used repeatedly as building blocks in a large variety of applications. It is important to keep efficiency in its place, but when efficiency counts we should also know how to achieve it."

Now concerns of performance seque smoothly into those of ergonomics.

"To make it possible to derive quantitative assessments of efficiency my book uses MIXAL, a symbolic assembly language that explicitly corresponds one-for-one to machine language. There's a danger of placing too much emphasis on assembly, but I believe MIXAL is a good example of a 'quick and dirty assembler', a genre of software which will always be useful in its proper role: preparing programs for a new machine. I have implemented six such assemblers, for six different machines, and I'm glad to let MIXAL illustrate what one is like. But such languages should never be improved to the point where they are too easy or pleasant to use. I would never switch to a two-pass process, or add complex pseudo-ops, macro facilities, or even fancy error diagnostics. Nor would I maintain or distribute such a language as a standard programming tool."

"Now that the technology is available, we can condone unstructured languages only as a bootstrap-like means to a limited end."