By one common definition, an expert in a given domain possesses some 50,000 chunks of domain-specific information [1,2]. For expert programmers, these chunks are typically in the form of templates that they can stitch together to create programs. Indeed, what distinguishes expert programmers from novices is the former’s repertoire of templates and their ability to select the set of templates necessary to solve a particular programming problem. Given the availability of cookbooks, some part of the resulting code may be drawn or at least adapted therefrom. In the case of Sanchez and Canton’s work, the inclusion of two floppy disks containing all the book’s assembly language programs makes that process easier.
Cookbooks are also valuable in that they allow the reader to observe and learn from expert programmers, provided their code is clean and clear. In this regard, this volume has considerable pedagogical value.
A variety of assembly language code is provided, including input-output routines, data manipulations, a bare-bones operating system, laser printer programming, serial communications, accessing the 80x87 coprocessor, VGA programming, and an example of computer simulation. While the code is lucid, well organized, and fully documented, the book would be more useful for readers unfamiliar with DOS internals if it contained more explanatory text, which composes only about one-quarter of the book.
Indeed, since about 75 percent of the book contains code listings, the question arises whether it should be regarded as a genuine book and whether it is an appropriate item for review in this journal. Is there any difference in principle between this product and various commercial libraries containing assembly language routines? Consider Spontaneous Assembly: it is a collection of routines and comes with a 756-page manual [3] and four disks containing all its source code. Spontaneous Assembly would never be reviewed in a book review journal because it is sold as code on disk (for which printed documentation is provided), whereas Sanchez and Canton’s work is promoted as a book of code (and is accompanied by disks containing the code). Is this an example of that notorious distinction without a difference?