Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
The art of computer programming, Volume 1, Fascicle 1 : MMIX - a RISC computer for the new millennium
Knuth D., Addison-Wesley Professional, Boston, MA, 2005. 144 pp. Type: Book (9780201853926)
Date Reviewed: Sep 25 2006

[Ed. Note: This review is part of a series of reviews covering the recent updates to Donald Knuth’s seminal work, The art of computer programming. Please click the links at the end of the review to be taken to the reviews of the other volumes/fascicles.]

When, over three decades ago, Donald Knuth began to produce the work that became a foundation of computer science, he (ironically) called it The art of computer programming. I say ironically, because what he actually did was turn computer programming into computer science. This small volume shows well what this statement really means. This fascicle deals with fundamental algorithms. This volume updates the simulated machine that he invented for the books, MIX. It is now called MMIX, or 2009. Knuth is one of those rare writers who can take material that ought to be really dry and difficult, and, with a combination of humor and vibrancy, turn it to something that is a pleasure to read. This volume is another one of those successes.

It is appropriate to discuss why it might be necessary to still discuss assembly language or even its concepts. A minority of people need to understand machine language. Essentially, everyone else can do anything in third- or fourth-generation languages, without really knowing anything about the underlying processor instruction sets. However, these books are not written for everyone; they are written for people with a real need to understand computers. As such, there are good reasons to understand machine operations, though there are also excellent reasons to avoid using assembly whenever possible, which is almost always. Knuth gives five reasons why he chose this route. These books focus on “timeless truths,” while third- and fourth-generation languages are timely. These books are for people with a need to understand. “Computer science is largely concerned with an understanding of how low-level details make it possible to achieve high-level goals.” He also discusses debugging programs, an art form that is insufficiently taught.

A fascinating section of the book is 1.4.3, “Interpretive Routines.” It is interesting and (perhaps) doubly instructive that he chose to treat this critical subject here. One of the most important tools in any professional programmer’s (mental) backpack is the ability to write a good parser/interpreter of input. This can frequently improve many computer systems; albeit to my chagrin, it is too infrequently used. Knuth’s discussion of them is instructive and very well done. However, from this section, we also see one of Knuth’s limitations. In any human work, there are always boundaries. Knuth’s is that he is essentially a person who thinks in terms of mathematics. Most original computer scientists were such. However, many, if not most, software engineers today are not mathematicians, but are people with practical engineering backgrounds. Many of the examples Knuth uses in this section, and in fact in all of his books, are difficult for software engineers to push through because of this. As brilliant as his writing is, and as good as his explanations are (and they are both very good), the reader will be well served to understand that this is a constraint.

Introduction

Review of Volume 4, Fascicle 2

Review of Volume 4, Fascicle 3

Review of Volume 4, Fascicle 4

Reviewer:  Mordechai Ben-Menachem Review #: CR133341
Bookmark and Share
  Featured Reviewer  
 
Macro And Assembly Languages (D.3.2 ... )
 
 
General (D.1.0 )
 
 
Language Constructs and Features (D.3.3 )
 
Would you recommend this review?
yes
no
Other reviews under "Macro And Assembly Languages": Date
Assembler for COBOL programmers: MVS, VM
Murphy H., McGraw-Hill, Inc., New York, NY, 1991. Type: Book (9780070441293)
Dec 1 1991
High-level programmer’s guide to the 68000
McCabe F., Prentice Hall International (UK) Ltd., Hertfordshire, UK, 1992. Type: Book (9780133880342)
Oct 1 1992
Computer organization and assembly language programming for the VAX
Schneider G., Davis R., Mertz T., John Wiley & Sons, Inc., New York, NY, 1987. Type: Book (9789780471838500)
Mar 1 1988
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy