Third Edition of Cocoa Programming
I've seen a number of comments here which ask about the upcoming third edition of Aaron Hillegass's Cocoa Programming for Mac OS X. Without doing an exhaustive review, I can tell you that this book continues the tradition of being the best introductory Cocoa book available.The complete version of the book is targeted for release in June, but I read through an early version. The second edition shipped in May 2004. The fact that the 10.3 version is still most-recommended title on Cocoa programming, I think, speaks to the quality of the book.
The first edition of Cocoa Programming is the one I used to learn how to write Mac software. Not only was it virtually the only Cocoa book out at the time, but it was also a joy to read. It speaks directly to the reader, and is crafted so that you learn something practical in each chapter which you can apply immediately. This is still the case in the third edition. It's very much a hands-on book that teaches you by doing.
A lot has happened in the last 3-4 years in Mac programming, so the content has been updated, revamped, reworked, and so on. There are brand new chapters on Garbage Collection, Core Animation, Window and View Controllers, and two chapters on Core Data. Everything that you need to get started is here.
Aside from all of that, I think it's important to say that Aaron's writing style in that first edition very much influenced things I've written here and at Cocoa Dev Central. That book made me realize that it was perfectly okay to speak directly to the reader and make the explanations follow the code, rather than the other way around.
To Aaron's credit, he also made it clear I could say anything I wanted about the new edition.
Third Edition of Cocoa Programming
Posted Feb 16, 2008 — 28 comments below
Posted Feb 16, 2008 — 28 comments below
Doug — Feb 16, 08 5507
Justin Williams — Feb 16, 08 5508
I also thought it was neat that a quote from my MacZealots article is is on the book's homepage. I had forgotten I said such nice things about the book. It still holds true though. :)
Mike Nowak — Feb 17, 08 5509
Paul Robinson — Feb 17, 08 5510
Scott Stevenson — Feb 17, 08 5511
Chuck — Feb 17, 08 5512
Everyone else seems to believe that since Cocoa & Objective-C are so easy to use on a day-to-day basis, then not much explanation is required. They miss the fact conceptually, Cocoa programming can be baffling if you're coming in from Windows, and all the outlets, object controllers, app delegates, make it tough to get any traction. I really appreciate the efforts you've taken with this site & the tutorial site, to make the concepts manageable to absolute beginners. It's nice to see it confirmed that the Cocoa Programming book was an inspiration in the tone.
The boy Ken — Feb 17, 08 5513
Whilst I'm not knocking the quality of Aaron's work (or indeed the craftsmanship involved in his hat), and I look forward to the 3rd ed, I think your point of view is rather one-sided. The fact that there is no serious (up to date) competition means it would be surprising if Aaron's book was _not_ the most-recommended title. For instance I don't believe (but could be wrong!) there are any other physical books that cover bindings at all, so although the 2nd ed is getting technologically old, it's still newer than the competition.
Were there already 10 other new Cocoa books out there, then your statement would hold more water, especially if they were more up to date than his 2nd ed is.
It's great this 3rd ed covers Core Data etc., especially as that can be conceptually difficult for beginners, and also Core Animation etc., it's just unfortunate for Cocoa beginners coming since 10.4/10.5 that they've had no (physical) books to help them learn the new recommended ways of doing things.
That said Apple's documentation has really improved since the likes of mmalc and Scott Anguish jumped aboard, but some beginners like reading real books. Anyway, as I say I'm not knocking Aaron's work, just saying that your interpretation of the stats could be accused of being skewed. That's not to say you're wrong, just that it's impossible to prove your statement one way or the other without any real competition.
Along with Aaron's 3rd ed, I'm also looking forward to the Pragmatic Programmers' Core Animation book. I hope it's not all glitz though (and I've no evidence to suspect it would be...) - I'm hoping it's a book on useful GUI techniques / principles.
Anyway that's my 2 pence (erm about 3 US cents I think)
Ross Carter — Feb 17, 08 5515
What makes Aaron's writing special is his ability to convince you that he honestly wants you to learn the material. Some writers adopt a take-it-or-leave-tone: "here's the relevant info, do what you want with it." Aaron's tone is that of a fellow traveler pointing out the road ahead. He constantly reminds the reader that it is OK to struggle with new concepts. "This is hard, and you are not stupid," he reassures us. When he says, "Sometimes when I think about undo, my head swims a bit," or when he says that it's normal not to understand everything in the reference documents, he provides the kind of encouragement that money ordinarily can't buy.
I've pre-ordered it too.
kamelito — Feb 17, 08 5516
Two questions then, is it necessary to buy a book about objective-C (I don't know any that cover Objc2.0). Same thing about a book that cover Xcode (Xcode 3 Unleashed to be released seems to be a good choice).
Thanks
Kamelito
Drew — Feb 17, 08 5518
Thomas Alvarez — Feb 17, 08 5520
@drew
You can install Xcode 2.5 in Leopard and keep using the old style Interface Builder, etc. I did that for the time being to keep trying to learn off the old books 2nd edition, Step Into Xcode, etc.
Scott Stevenson — Feb 17, 08 5521
I think you're talking about two separate things. For the first point, at least four books on Cocoa/Xcode were published after this one, so I don't think the newness is necessarily a factor. For the second point — it may, in fact, be one of the only books that covers bindings, but I think that only supports the comment about the quality of the book.
The sentence you quoted wasn't really something I saw as the basis for the post -- just something I threw in as a side thought.
I'm also looking forward to the Pragmatic Programmers' Core Animation book. I hope it's not all glitz though (and I've no evidence to suspect it would be...) - I'm hoping it's a book on useful GUI techniques / principles.
It's a book on animation techniques in Cocoa applications and the Core Animation framework, not general user interface topics. That doesn't mean it's "glitz" though. :) It's just a very API-focused book.
@Drew: I got mid-way through the second edition but then upgraded to 10.5 and Xcode 3 and found myself having trouble with the differences between the newer tools and the book
The page for the the second edition was just updated in the last day or so, and it has information on using the book with Leopard. I don't know how much of it is new material, though.
Roger — Feb 17, 08 5522
I hope he updates it for Objective-C 2.0
pat — Feb 17, 08 5525
StuFF mc — Feb 17, 08 5526
Price on Amazon.de : EUR 53,99 (~ $79.29).
They must be kidding! :( Since it's only coming in June, I think I'll ask a friend to order it ;) ~ EUR 21.45! ;) Friggin crazy.
Michael — Feb 18, 08 5527
Erik — Feb 18, 08 5528
For those who will inevitably say, "yeah, but who cares about the cover, I care about what's in it" - sure, of course what's in it is exponentially more important than the cover, but books have a permanence that blog posts, web sites, and PDFs don't. They sit around my house, my office, on my desk; I have to look at them regularly. Books on programming are among the most expensive and, content-wise, most important books I own. It's nice when they don't look like some third-rate word processing instruction manual. Keep it up, Hillegass.
Cayoglu — Feb 19, 08 5530
And now?
Throw away and wait till 3rd?
BAH!
Aaron Hillegass — Feb 19, 08 5531
Also, I wanted to send some love to Scott Stevenson. Scott went through a draft of the 3rd edition and sent me a list of suggested improvements. A 20 page list! I think Grace said it best: "Oh, he's very popular Ed. The sportos, the motorheads, geeks, sluts, bloods, waistoids, dweebies, dickheads - they all adore him. They think he's a righteous dude."
Scott is a righteous dude.
When you write a 450 page introductory book, you can't cover everything that you would like. We, the proud engineers of Big Nerd Ranch, have already started writing an Advanced Cocoa course. In a year or so, this will probably become a book. The Advanced Cocoa book will include many of the topics that simply would not fit into "Cocoa Programming for Mac OS X." For now, I ask for your patience.
Thanks again!
Kamelito — Feb 20, 08 5532
Thanks again for your books, of course many (all?)will love to attend your courses but can't...Having the possibility to catch your knowledge through your books is very valuable to us, even if it will never replace a real course.
Best of luck
regards,
Kamelito
Phil — Feb 21, 08 5533
Can you provide a summary here or over at the Big Nerd Ranch web site of the 'significant' changes relative to the 2nd edition. Assuming this book will mirror the course structure on your site, I can see what the new chapters will be but am more interested in knowing if there are any significant overhauls/expansions to the other chapters. This would help those of us with the 2nd edition make the decision on whether or not the 3rd edition makes sense for us or not.
Also, I'm drooling at the prospect of an Advanced Cocoa book... any chance you'll consider some sort of beta program where people could buy the book up front and get early drafts as protected PDF docs or something similar then get the final edition when it is published?
Thanks,
Phil
Aaron Hillegass — Feb 21, 08 5535
When I do a new edition, I go through all the existing chapters and add a little bit to each one. For example, in this edition, I show how to draw the fuzzy keyboard focus ring using NSSetFocusRingStyle(). Is it nifty? Yes. Is it worth buying the whole book and reading it again. Probably not.
Overall, if the new chapters aren't compelling enough to warrant the purchase, the little additions in the existing chapters are not going make the difference.
In general, I try to make the code cleaner and the explanations more clear in each edition. I also try to get rid of deprecated API. For example, did you know that printShowingPrintPanel: is deprecated in 10.5?
We will see about PDF versions of the advanced cocoa book. Whether PDF or paper, it is a long, long way away from being done.
Blain — Feb 27, 08 5580
I go through all the existing chapters and add a little bit to each one.
That makes me curious as to what the diff would look like. Does anyone else remember school textbooks where the last few pages were left intentionally blank so that later addendums (I think it was updates to history books) could be glued in? As tempting as it is to ask about the possibility of a cheaper patch book that has only the new chapters, I'd still get the complete book instead.
Also: The bit about Robocop and Knight Rider is still the best analogy ever.
Randy — Mar 15, 08 5648
I'm wondering about your book release date, some retailers say it'll be available in June 2008, while Amazon and Chapters Canada say it'll be in May 26th, 2008.
I'm hoping it'll be the latter as I'm really looking forward to read those new obj-c 2.0 features. I presume you won't cover Cocoa Touch topics in the book?
Scott Stevenson — Mar 15, 08 5652
The exact date may not be set yet, but the official page says June, so I'd go with that.
won't cover Cocoa Touch topics in the book?
There's nothing about that in the book.
Steve McFerrin — Apr 25, 08 5758
Thanks for the great info here as well Scott, tidbits from your site here and there and your contributions to Cocoa Dev Central have really help me get over the hump!
Chris Peters — May 22, 08 5890
I do not mind upgrading the book to 3rd edition, but my question is: are figures and corresponding instructions been changed to reflect XCode3 and IB3. If not, then 3rd edition is not for me. If yes, I would buy it right now. I would lov e to see a sample chapter. Is it posted anywhere?
Thanks Aaron for passing on your knowledge via a wonderful book.
Scott Stevenson — May 23, 08 5891
Yes.
a sample chapter. Is it posted anywhere?
Not sure offhand.