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.
Design Element
Third Edition of Cocoa Programming
Posted Feb 16, 2008 — 28 comments below




 

Doug — Feb 16, 08 5507

I've already got mine on pre-order. Definitely looking forward to it.

Justin Williams — Feb 16, 08 5508

I preordered my copy as soon as it showed up on Amazon.

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

What's the link for the third edition on Amazon? Thanks!

Paul Robinson — Feb 17, 08 5510

I've pre-ordered mine too. Can't wait!

Scott Stevenson — Feb 17, 08 5511 Scotty the Leopard

The Amazon page for the third edition is here.

Chuck — Feb 17, 08 5512

This is a must-buy for me, even though I've already got a copy of the first edition. Hillegass's book and this website are the only places I've seen that give "outsiders" a real, usable entry point to OS X programming. (Step into Xcode is a useful supplement to Hillegass's book as well).

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

"The fact that the 10.3 version is still most-recommended title on Cocoa programming, I think, speaks to the quality of the book."

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

I have to confess I never finished reading Aaron's book. About two-thirds of the way through, I felt so empowered I couldn't wait to start writing apps so I put the book down and have been happily Cocoa-ing ever since.

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

I also pre-ordered mine (I noticed that after doing so that the search fonction at Amazon didn't returned the 3rd edition for quite some time...)

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

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 prospect of the third edition gets me excited to take another crack at things as it felt like I was finally making some progress moving from Applescripting into "real" programming. The thing I enjoyed most was that I was able to jump into real-functioning example programs almost right away. It's a shame the demo app stopped building properly for me under Xcode 3.

Thomas Alvarez — Feb 17, 08 5520

I'm really looking forward to the 3rd edition. I haven't pre-ordered yet, but I started drooling the day I found it on amazon.

@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 Scotty the Leopard

@The boy Ken: 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.

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

Probably the best book on Objective-C is "Programming in Objective-C" by Stephen Kochan.

I hope he updates it for Objective-C 2.0

pat — Feb 17, 08 5525

The Kochan book is an excellent resource for a new programmer who wants to learn Objective-C as their first programming language (a woefully underserved market.) For an experienced developer who wants to get up to speed writing Cocoa apps Arron's book is the way to go, and an excellent second book to tackle after the Kochan book. They are really targeting readers at different levels of knowledge, and thus can't be directly compared.

StuFF mc — Feb 17, 08 5526

Price on Amazon.com : $31.49
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

I hope there is some coverage of network programming in this version. I own the Advanced (red) book as well, but I'd like to see more of a Cocoa-centric client/server example. I'm looking to implement a client/server system that would probably be more suited for EOF, but I don't want to give up all that Core Animation, Core Data, and other Cocoa stuff that isn't available elsewhere. Does anyone have any experience using CD to model a local cache on a client machine that is populated by a server over the network? I presume this is possible now that CD is allegedly thread-safe?

Erik — Feb 18, 08 5528

This isn't meant to sound trivial or petty: I'm glad to see that Hillegass continues his tradition of publishing books with reasonably good-looking covers. I think this is less a problem in the last few years as more publishers are beginning to consider nice design for their covers, but when "Cocoa Programming: 2nd Edition" and "Core MacOSX & Unix Programming" came out, it was one of the only programming books that didn't look like almost every other programming book out there - dorky. And I can tell that he had input in this. So in a sense, he is not only a good teacher and writer, but a pioneer of good book cover design (in the domain of programming books).

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

Perfect. I just bought the 2nd edition some weaks ago to start with cocoa programming and now it gets renewed. I was aware that it was old, but I thought I could still use it for starting.
And now?
Throw away and wait till 3rd?

BAH!

Aaron Hillegass — Feb 19, 08 5531

I wanted to say thank you for all the kind comments. I'm glad that some of you have found the book useful, and I hope the third edition meets your expectations. Writing a book is a daunting task, but comments like these make it seem like a worthy effort.

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

Hi Aaron,

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

Aaron,

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

Phil,

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'm late to the party here, but...

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

Dear Aaron,

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 Scotty the Leopard

@Randy: 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.

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

I have just returned from the Big Nerd Ranch!!! What a joy, Aaron is a class act and an excellent instructor, patient beyond compare. It was funny I was struggling a bit about the time Aaron turned the page over that I was on to show me the quote "This is hard, and you are not stupid.". I have now been home for a week and I am leaps and bounds ahead of where I could have ever gotten on my own. I would highly recommend the new book and also a trip to the "Ranch". It was worth every penny . We were fortunate to have used the new book for out training. BTW we had a great group and a lot of fun. It is a lot of work so be ready if you go.

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 am new to cocoa programming and bought the 2nd edition and love it. However, I am at disadvantage as I have Leopard on my iMac, so the book and XCode3 and IB3 do not match, and it really make things worst.

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 Scotty the Leopard

@Chris Peters: but my question is: are figures and corresponding instructions been changed to reflect XCode3 and IB3

Yes.

a sample chapter. Is it posted anywhere?

Not sure offhand.




 

Comments Temporarily Disabled

I had to temporarily disable comments due to spam. I'll re-enable them soon.





Copyright © Scott Stevenson 2004-2015