Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Inside Smalltalk: vol. 2
LaLonde W., Pugh J., Prentice-Hall, Inc., Upper Saddle River, NJ, 1991. Type: Book (9780134659640)
Date Reviewed: Aug 1 1992

For a language that few people use, Smalltalk has had an amazing impact on computer science. It popularized the notion of object-oriented systems and provided an integrated window-based editor, compiler, class browser, and debugger that remains a pleasure to use a decade after its release. It remains a system to which others are compared.

Though the syntax and semantics of the language are simple (it has only three precedence rules and one form of object reference), it is said to be difficult to learn. Some of the difficulty is due to the change in paradigm between procedural and object-oriented languages, but more is due to the richness of the Smalltalk environment. The user has access to an extensive set of abstract data types, a full window system, and the class browser. To become conversant in Smalltalk, one must learn to navigate through 300 classes and thousands of methods. LaLonde and Pugh have provided a road through this maze, and they may assist Smalltalk in finding its audience.

For years, the authors have evangelized for Smalltalk. They have led seminars, written a popular column in the Journal of Object Oriented Programming, and led hundreds of students at Carleton University through the mysteries of the Smalltalk class hierarchy. For those who cannot journey to Ottawa to sit at their feet, they have encapsulated their experience and their favorite examples in two volumes on Smalltalk. The first volume [1] covered the user interface and principal classes: Object and the subclasses of Magnitude and Collection. In it, the authors introduced some graphical classes, such as Pens, Forms, and BitBlt. They left the discussion of advanced topics to the second volume--this book--which begins with a discussion of the Model-View-Controller triad and introduces many different classes of windows--text windows, menus, switch windows, form windows (paint-like windows) and pop-ups. It ends with an extensive window-based application: a Form Librarian that allows the storage and manipulation of forms.

The presentation of each class includes an analytical description of the protocol, relevant sections of the implementation, simple examples, and extended applications. The work is accessible to motivated students, but the authors go beyond typical academic examples. They discuss text editors rather than the Towers of Hanoi, and games like “breakout” rather than the eight queens problem. Ample exercises ask the reader to extend their realistic examples. The book could serve as the text for a second course in Smalltalk, or as a study guide for professionals interested in Smalltalk-80 window management.

Smalltalk is sold by two vendors--Parc Place and Digitalk--and available in two public-domain versions: Tim Budd’s Little Smalltalk and Steve Byrne’s GNU Smalltalk. These versions are similar in the areas presented in the first volume, but they diverge in their support for graphics. Neither of the public-domain implementations claims to support the graphics classes, and the two vendors differ in their treatment. The differences begin with the Model-View-Controller, which Digitalk calls the Model-Pane-Dispatcher. The differences increase when we turn to the window systems. Parc Place retains the same general appearance for each platform and presents a uniform window protocol. Digitalk always approximates the local window system. Thus Digitalk applications running on a Mac look like Macintosh applications rather than using the Smalltalk-80 interface. Since Digitalk’s Presentation Manager implementation uses a different protocol, it is nontrivial for a developer to port applications across Digitalk implementations.

Digitalk’s system is less expensive than Parc Place’s and it has been targeted at the volume platforms: Macintoshes and PCs. As a result, many more people use Digitalk and more universities have Digitalk site licenses. The authors describe the Smalltalk-80 interface, the basis of the Parc Place implementation, and ignore the Digitalk hierarchy. While many of the concepts are transferable, most of the details are not. This omission will make the second volume a disappointment to most Digitalk users.

I recommend both volumes highly, though the first volume will find a larger audience than the second. For developers looking for a discussion of the Smalltalk-80 window system, no better source exists.

The books have hundreds of screen snapshots and thousands of methods. This layout apparently made the publisher’s job difficult, and many pages seem cramped. Listings are printed in a typeface that only approximates legibility. The work was clearly a labor of love, however. LaLonde and Pugh have made a bright corner of the world much easier to reach, and they deserve our thanks.

Reviewer:  J. Parker Review #: CR123937
1) LaLonde, W. R. and Pugh, J. R. Inside Smalltalk: vol. 1. Prentice-Hall, Englewood Cliffs, NJ, 1990.
Bookmark and Share
 
Smalltalk (D.3.2 ... )
 
 
Object-Oriented Programming (D.1.5 )
 
Would you recommend this review?
yes
no
Other reviews under "Smalltalk": Date
Practical Smalltalk
Shafer D., Ritz D., Springer-Verlag New York, Inc., New York, NY, 1991. Type: Book (9780387973944)
Oct 1 1992
A little Smalltalk
Budd T., Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986. Type: Book (9789780201106985)
Mar 1 1988
Inside Smalltalk: vol. 1
LaLonde W., Pugh J., Prentice-Hall, Inc., Upper Saddle River, NJ, 1990. Type: Book (9780134684147)
Jul 1 1991
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