Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
The viewport technician: a guide to portable software design
Bentley M., Scott, Foresman & Co., Glenview, IL, 1988. Type: Book (9789780673183835)
Date Reviewed: Mar 1 1989

This book examines five windowing systems: the Amiga with Intuition, the Atari ST with GEM, the IBM PC family and compatibles with GEM, the IBM PC family and compatibles with Windows, and the Apple Macintosh and IIgs. It attempts to provide programmers with enough information to write programs for any of these machines that will compile, link, and run on any of the others without change.

To this end, the author devotes the first chapter to a clear statement of the problem and a presentation of relevant characteristics of each computer. The second chapter covers program organization: how to arrange the internal code (event loops, modes, and so forth) and the external files (header files, multiple source files, etc.). The last section of this chapter contains hints on portable coding; since each of these machines uses a slightly different version of Pascal, or has characteristics that affect the way similar routines work, the author talks about problems that specific types of coding practice might cause.

The third chapter contains a detailed comparison of the different environmental services provided by each system. It is broken up into a number of subsections covering event managers, graphics, windows and window managers, menus, dialog boxes and their ilk, resources, controls, gadgets, icons, and advanced text editing support. Each feature is examined by comparing the functions the different machines use to perform the environmental service. Detailed descriptions are provided. The final chapter discusses methods to make programming more automatic, such as computer-aided software design packages and examples of automated development steps.

To a large extent, this book is a survey of the five systems’ user interface functions; it is considerably detailed both in the text itself and by the inclusion of the underlying structures that the systems use. The reader gains a very good basis from which to compare the various systems, especially by learning the steps that must be taken for programs to run on them. Although the book is long, it is complete in that it describes characteristics of all five systems; the length is therefore appropriate to the intent.

The effectiveness of the comparison is, however, buried beneath the wealth of material. The discussion of the systems’ graphics routines, for example, is a series of function descriptions accompanied by text that points out many of the details of their use; a few sample programs, or even sample routines, would have made the comparison much clearer. (For example, the book could show how to draw a line from the lower left corner to the upper right corner of the screen.) Worse, while he compares these routines, the author makes no specific suggestions about how to code portably; he leaves the reader to find such information elsewhere. This is understandable in many cases, because the functions’ parameter lists are different, but a book that attempts to teach a programmer how to write programs for any of these machines should at least address the issue.

Overall, this book is good for a programmer adept on one of these machines who wishes to compare its functions and design with those of another. In one sense, it meets its goal: it contains more than enough information for a programmer willing to extract the information from this book to design and code her or his own routines in a relatively portable way. I wish that the author had provided more suggestions about how to do this; that would make the book far more effective.

Reviewer:  Matt Bishop Review #: CR112593
Bookmark and Share
 
Portability (D.2.7 ... )
 
 
Standards (D.2.3 ... )
 
 
Design Tools and Techniques (D.2.2 )
 
 
General (D.4.0 )
 
Would you recommend this review?
yes
no
Other reviews under "Portability": Date
Software portability and standards
Dahlstrand I., John Wiley & Sons, Inc., New York, NY, 1984. Type: Book (9789780470200834)
Feb 1 1985
On squeezing the UNIX quart into a data general eclipse pint pot
Cooper R. Software--Practice & Experience 15(6): 571-581, 1985. Type: Article
Apr 1 1986
STRAPS: A Software TRAnsPort System for low-level software
Fairfield P. Journal of Systems and Software 5(4): 291-302, 1985. Type: Article
Oct 1 1986
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