Monday, December 29, 2008

Learn Objective-C on the Mac is Shipping


Learn Objective-C on the Mac, on which I was the Technical Reviewer, is now shipping.

Obviously, I'm not a disinterested or unbiased party but, honestly, Scott and Mark did an amazing job with this book. The chapter on memory management, which is probably the most difficult aspect of iPhone programming for both new programmers and those coming from other languages, is just phenomenal. Mark and Scott took a difficult concept and made it understandable and concrete.

And the book is exhaustive. I can't think of anything about the language that they don't cover and cover well. I've been coding in Objective-C for almost a decade, and programming for twenty-something years, and I learned several things I either didn't know or had forgotten while reviewing the book. It's also just fun to read. Both Scott and Mark have wicked senses of humor. They'll keep a smile on your face while taking you through some tough material.

One of the complaints I've seen about our iPhone book was that we didn't cover the Objective-C language. I understand the criticism, but it was a conscious decision on our part. The reason we didn't include a chapter or two on the Objective-C language in the iPhone book is because we are the third book in a series (the first book is the classic Learn C on the Mac written by Dave Mark, my co-author on the iPhone book).

As it was, we ran nearly two hundred pages over our statement of work. We didn't want to have to cut relevant iPhone material in order to include material that was covered (and covered well) in the earlier books. We wanted to give people of differing experience levels the flexibility to just pay for the material they needed. A considerable number of our potential readers already know C, a smaller, but not insignificant number of our potential readers already know Objective-C.

On a related note, the last six months have been an interesting time for me. I read Scott's books like "How to Write Macintosh Software" back in the late eighties when I was switching from programming the Apple II to programming the Mac. A few years later, I read Dave's "Learn C" book when I switched from Pascal to C.

After the switch to OS X, Mark's first book, Advanced Mac OS X Programming: Core Mac OS X & Unix Programming was a huge help to me in getting a better understanding of what goes on under the hood in a unix-based operating system.

I feel tremendously lucky to have had the opportunity to work with these more experienced authors.



9 comments:

Eric said...

This looks like another good one to pick up, if even just as a reference guide for the memory management!

Todders said...

Is the logical progression for a new (or rusty) programmer to start with Learn C on the Mac, then Learn Objective-C on the Mac, then Beginning iPhone Development? The dates of publication have me second-guessing that apparent progression.

Jeff LaMarche said...

Todders - yes, that is the date. The reason the publication dates are out of order is that both Learn C and Learn Objective-C are new versions of existing books. Learn C has been around since 1991, publshed by different publishers over the years. Learn Objective-C has been around for a few years, and was formerly published by Spiderworks. Since the other two books were available, our publisher gave higher priority to the first printing of Beginning iPhone Development rather than printing the next edition of the other two books.

Make sense?

Jeff LaMarche said...

Whoops, I meant "that is the order", not "that is the date".

Todders said...

Jeff, thanks for the clarification. I've got the iPhone book on my desk and the other two on order. I'm looking forward to brushing up with these up-to-date guides.

joao antunes said...

Jeff,

How different are these Apress editions from the Spiderworks ones? Are there any new content that makes it worth for Spiderworks readers to buy them?

Thanks for all the work you've been outputing on this blog, is really great!

Jeff LaMarche said...

Joao:

I haven't actually read the latest version of Learn C on the Mac, but I think it was mostly just updated to work with the most recent version of Xcode - and to make it C99-compliant. I don't think there were any major changes or additions.

The objective-C book has quite a bit of new material - the old one was written before Objective-C 2.0, so there's discussion of all the new stuff, and there's also a great chapter on NSPredicate, and (of course) errata fixes. Most likely if you have an older edition of Learn C and have been doing any programming, there's probably not much need to update. With Learn Objective-C, it's going to be about how comfortable you are with the 2.0 changes - if you picked up the new stuff from Apple's docs okay, you can probably skip the new version, but if any of the new stuff is fuzzy, I can pretty much guarantee you it won't be if you read the new version.

Mark J said...

Agreed, Best Objective-C book and the memory management section is great. Here's my reviews of the best books for iPhone programmers:

http://www.markj.net/iphone-development-programming-books/

Mark

h4ns said...

I was very encouraged to find this site. I wanted to thank you for this special read. I definitely savored every little bit of it and I have you bookmarked to check out new stuff you post.

AC Milan vs Lazio Live Streaming
West Bromwich Albion vs Wigan Athletic Live Streaming
Manchester United vs Aston Villa Live Streaming
Sunderland vs Chelsea Live Streaming
Arsenal vs Everton Live Streaming
Augsburg vs Bochum Live Streaming
Racing Santander vs Valencia Live Streaming
Frosinone vs Atalanta Live Streaming
AC Milan vs Lazio Live Streaming
West Bromwich Albion vs Wigan Athletic Live Streaming
Manchester United vs Aston Villa Live Streaming
Sunderland vs Chelsea Live Streaming
Arsenal vs Everton Live Streaming
Augsburg vs Bochum Live Streaming
Racing Santander vs Valencia Live Streaming
Frosinone vs Atalanta Live Streaming
Technology News | Hot News Today | Live Stream