The author of the book, Aaron Hillegass, is a teacher at the Big Nerd Ranch, where he gives instruction in Cocoa programming. Hillengass wrote the book based on his teaching experiences so, not surprisingly, the chapters feel like individual class sessions. An alternative title might be, "Learn Cocoa in 21 days," but in a good way.
The book begins with the story of NeXTSTEP, a name that appears many times throughout the book, as the author used to work for NeXT back in its heyday. The first three pages outline how MacOSX came to life, like a Phoenix from the ashes of NeXTSTEP, and we get to understand better what Cocoa really is.
The third chapter may be one of the most important in the whole book, as it introduces the C programmer to Objective C. According to Hillegass, if you already know OOP programming with C or C++, Objective-C will only take you two hours in an afternoon to learn it. The book is not for newbies, but it is targeting people who already know OOP, C programming, programmers that come from Windows, NeXT or older versions of MacOS.
Being a NeXT employee, Hillegass is giving quite a lot of ground to the Application Kit of MacOSX, Archiving, Helper Objects, Localization, Preferences, etc. The book has many (and I mean, many) screenshots of the Interface & Project Builder (the MacOSX RAD tools) illustrating every major step or topic discussed in the pages. It truly feels that you are in a school class and Mr. Hillegass is teaching a chapter a day, with the use of a big projection panel showing the development steps "live."
The book encourages Cocoa programming only with Objective-C, C or C++ and it recommends avoiding Java. However, it does feature a small chapter about how to get started with Java & Cocoa.
Some of the best aspects of the book are the real life examples the author is using to explain certain concepts like object orientation (he uses RoboCop and Knight Rider as examples).
One disappointment of the book is that it does not include a CD with the source code discussed in the book, and it does not even offer the source as a download from the web. It would certainly make the life easier for people who try to learn from home. Update: Look the update above. The source code is available.
Another oversight is limited mention of how to debug your applications if you get errors or nasty bugs. There is only a 3-page mention of the GDB, including the two screenshots of the debugger, which take more than half of a page each.
In conclusion, the book is a great addition and probably a must-have for the new Cocoa programmer. But it is not enough to be used alone. "Learning Cocoa" from O'Reilly covers the Cocoa API more thoroughly, while "Cocoa Programming for MacOSX" will help you utilize the API with easy steps and visual examples for reference. These two books go together; one is a supplement to the other and any new MacOSX programmer should have both.
Buy "Cocoa Programming for Mac OS X"
at Amazon.com for less