Writing NeXT Programs
An Introduction to NeXTstep - A Book Review

Writing NeXT Programs - An Introduction to NeXTstep was written by Ann Weintz. It is a small book (5 1/2 by 8 1/2 inches, 227 pages) intended as a primer for aspiring NeXT programmers. It assumes some familiarity with the C programming language but introduces the basic concepts of Objective C, the language of preference when working on the NeXT. There is also a good discussion on the foundation for object oriented programming, again, almost a given when coding NeXT applications.

Teaching New Material

Things start off slowly, as they should, with what Ms. Weintz calls a trivial, five line program. This is an interesting point as the Interface Builder (IB) is not discussed until later in the book and only in a cursory way. If you're looking for an introduction to IB, find the NeXT produced The NeXTstep Advantage or read the IB Tutorial in the NeXTstep Concepts manual. The reliance on "straight" Objective C code for her programming examples gives a good look "behind the scenes" at the creation and use of objects without the sugar-coating of IB.

Diagrams are used throughout the book to illustrate concepts and explain code segments. They are used effectively, but are a little large in some cases and repeated in others, robing valuable space that could have been used for more text. Screen shots are used too, but more appropriately. My complaints aside, the diagrams are valuable additions for a subject matter which would be difficult to follow without some help.

There is little discussion on the extensive Application Kit of objects provided in the NeXTstep environment. The definition of this object toolkit is probable best left to the NeXT developer's manuals anyway. The menu, text and view objects are introduced and used in examples.

Example code is used at each step of the discussion. The sample tasks are simple enough that the concept can be grasped quickly without wading through page after page of code to get the idea. Each example builds logically on the one before although no serious project is attempted. A little more ambitious code would be nice, but this is an introductory text after all.

PostScript programming is only mentioned and very few examples are given. I would have expected more coverage in this area as the NeXT is a PostScript machine. A programmer will have to get into PostScript to display anything on the screen other than the NeXT supplied interface objects. More attention here would be appreciated.

Nit Picking

Oddly, the end comes quickly and unexpectedly. There is no closing statement or summary information. A suggested reading list for related or follow-on material would be nice. Ms. Weintz takes us into some example code on key events and checking key types and then drops us cold after the final }! No goodbye, no acknowledgments, just white space.

As stated previously, the diagrams used seem to take up too much space (see pages 51 and 119, for example). The text font chosen is a little large with big gaps between paragraphs (see pages 158 or 185); the impression is of an attempt to spread a little information over a large area. This is sad as there is good stuff here, just not enough. Also sad is the lack of an index; using the book for reference is almost impossible with one. I can't understand why a book of this nature has no index.

I found it odd to read negative statistics on public elementary education and data on energy conservation as well as an advertisement for a company selling ultra-efficient refrigerators, solar panels and light bulbs in a programmer's introduction. Perhaps this space could have been used to address the topic at hand.

Summary

Overall, Ms. Weintz has laid out her material in an orderly way and provided a good introduction to a topic not well presented elsewhere. It is only an introduction and one that does not go as far as the $39.95 asking price would suggest. I would have liked to see more on PostScript programming and an escalation to more functional examples later in the book. Considering the size of type, the small pages, the wasted space and lack of an index, $39.95 seems too much. After all, NeXT sells its developers documentation package for $95 to Registered Developers and that ten volume set takes up more than 8 1/2 inches of my bookshelf in 8 1/2 by 11 inch format!

It is interesting to note that the book was created on a 68040 NeXTcube using FrameMaker and Diagram! The folks at Boardwalk Publishing told me this was necessary for their small company to compete with the big publishers.

Table of Contents
Creating a Trivial Program
Building and Using Objects
InterfaceBuilder
Objects in InterfaceBuilder
Drawing Into Windows
Creating Graphics
Menus
Text
Events

Price is 39.95 + 2.49 shipping = $42.44.
Quantity discounts ranging up to 40% off for twenty or more books are available.

Boardwalk Publishing
765 Third Avenue
Redwood City, CA 94063
(415) 364-4574

by Bob Rockefeller
ã 1992 CeNUG