Cocao Programming for Mac OS X - biased review (was "Re: buy that new Book?")
Cocao Programming for Mac OS X - biased review (was "Re: buy that new Book?")
- Subject: Cocao Programming for Mac OS X - biased review (was "Re: buy that new Book?")
- From: "Simson Garfinkel" <email@hidden>
- Date: Wed, 12 Dec 2001 23:58:33 -0500
I pre-ordered this book from Amazon several weeks ago and they finally
delivered it, so I thought that I would throw in my two-cents about Aaron
Hillegass's book. Up front I should say that I'm biased because I
co-authored the original "NeXTSTEP Application Programming" book with
Michael Mahoney, and we are currently working on a new book for Cocoa
programming.
Overall, I like the Hillegass book. It has a lot of information and it comes
very fast. The book does a good job explaining the basics of Objective-C,
the new Objective-C memory management system that NeXT developed for
OpenStep, and the basics of the Application Kit. I also really like the
stories and history that Hillegass puts into the book. Many of the chapters
have "Challenge" exercises that are good jumping off points for people
interested in learning Cocoa. If you are new to Cocoa, or if you are trying
to find out the differences between NeXTSTEP and Cocoa, this book is
definitely worth having.
The key difference between the Hillegass book and the book that I'm
currently writing with Michael is that Hillegass worked for NeXT developer
training and wrote a lot of the original NeXT course materials. This book is
heavily influenced by that history. The Challenge exercises, for instance,
are the sort of 4-hour projects that you might assign to students to write
in an afternoon at Developer Camp. It isn't that they are hard --- it's that
they don't exactly follow from the material that's been presented in the
chapter, because it was assumed that you would have somebody from Developer
Training in the room to answer questions as they arise.
A lot of the book emphasizes aspects of the AppKit that NeXT was trying to
emphasize for commercial reasons. For instance, there's attention to
formatters and table views and database access, because these were all key
things for the database-heavy market that NeXT was selling to in the mid
1990s.
NeXTSTEP Application Programming stresses application design, development
and implementation. It doesn't cover as many classes as the Hillegass book
does, and those classes it mentions it actually covers in less detail,
rather than in more. But I think that it does a better job explaining the
basics of object-oriented design and application design. Then again, I'm
biased.
The two books also take a very different attitude towards the documentation.
Right on his first page, Hillegass says that Apple's documentation for Cocoa
isn't very good. Well, he had access to the source-code and to the actual
developers at NeXT/Apple. I've always thought that the NeXT documentation
was excellent, and the Apple documentation is better still --- but there is
so much of it, that beginners really don't know where to begin.
Of course, the big advantage of the Hillegass book right now is that it is
in print, while the rewrite of the Garfinkel/Mahoney book is still underway.
(I'm currently rewriting chapter 16, in case anybody is interested.) Our
goal is to have the book in print by WWDC.
Our book will be more than twice the size of the Hillegass book. However,
since the content will be substantially different, I suspect that "serious
beginners" will want to get both books. Companies that are interested in
getting into Cocoa should probably sign their employees up for the five-day
course "Programming Mac OS X with Cocoa" that Hillegass teaches. I haven't
taken his course, but I did take NeXT's Developer Camp back in 1991 and it
was a wonderful, wonderful time. Of course, I had Randy Nelson as my
instructor. Boy, he could juggle really well....