OS X is Apple’s new Unix-based operating system, and Cocoa is its preferred integrated programming environment, the latest incarnation of NextStep. The author was hired by Next, Inc. to teach and write about NextStep, and he has been doing that ever since. This book is an excellent tutorial for writing new Mac applications.
The stated objective of the book is to recreate the experience of being led through technical discoveries by a friendly guide. Hillegass has succeeded in this quest. I have been reading and teaching technical subjects for many years, and this book comes closer to a good classroom experience than any other “how to” book I have read. Any programmer will be able to follow Hillegass’s instructions easily, regardless of previous Mac experience. In fact, programming experience itself is not an issue at all: the book is unusually good at explaining usage to novice programmers, while still challenging seasoned professionals.
There are 27 chapters. Chapters 1 and 2 introduce us to Cocoa concepts and its Builder integrated development environment (IDE) tools. Chapter 3 describes Objective-C, an object-oriented variant of the C programming language used with Cocoa. Throughout the book, Hillegass relates Objective-C to C++ and Java as well as to C, so programmers familiar with any of those languages will follow the examples easily. Chapters 4 to 26 dig increasingly deeper into the details of building Cocoa applications, and cover the user interface, archiving, event handling, timers, fonts, printing, and more. Chapter 27 closes the book with pointers on what to do and where to go next.
While this book describes an object-oriented programming (OOP) environment, it does not debate OOP methodologies. To some, this might appear to be a weakness, evidence of a lack of engineering rigor. I think the agnostic approach serves the book well. Words are wisely spent on teaching the reader how to use Cocoa, not on endorsing the latest design methodology.
Physically, the book is printed well and is nicely bound with a glossy soft cover. It is a pleasure to handle and use. I was not distracted by typographical errors, so the editing and proofreading were better than most of the technical books I have read recently. The index is thorough, and the references, including a Web site, are excellent.
I heartily recommend this book to anyone who is using or considering Cocoa. I also recommend it as a model to other authors planning technical tutorials.