Programming for the Clipper 5.2 database compiler is described in this monumental book. It takes more than twice as much space to describe programming in Clipper’s own language as did Mueller’s similar book [1], although Mueller dealt fully with assembly language programming as well as with the Clipper language. The Clipper language closely resembles C++, but includes constructs from Pascal that, in my opinion at least, are not an improvement.
The book is divided into 29 chapters. The first three describe compiling, linking, and the make facility. Chapters 4 through 9 discuss data types, operators, variable scoping, the preprocessor, code blocks, and arrays. Chapters 10 through 15 cover file and program design, consider optimum user interfaces including menus and printing, and explain how to debug the resulting programs. Chapter 16 considers networking, an important topic in the sharing of databases. Chapter 17 describes methods of producing pop-up applications such as calculators and calendars from inside the database. Chapters 18 through 25 explore aspects of Clipper use such as indexing, searching, file creation and access, and low-level (BIOS) access. Within this group, chapter 22 details the mathematical capabilities of the system. It is perhaps surprising that the capabilities include a test for primality but omit any trigonometric functions. I wonder how the prime test would perform with numbers of reasonable size. Chapters 26 through 28 consider the object-oriented aspects of Clipper although the authors point out that, so far, Clipper is not really an object-oriented language. The development in this direction is made clear in chapter 29, where obsolete components of the system are enumerated.
The book has two appendices. Appendix A tabulates keyboard codes and an ASCII table, and Appendix B simply states that the code listings are available on the 3.5-inch disk that is attached to the back cover of the book. The book has an index but no bibliography.
The book is well produced and readable. The chapter summaries are particularly useful, as they enable a browser to see if material of interest is in the full presentation. A serious omission is the absence of a reference section to Clipper instructions.