views:

529

answers:

7

I'm looking for a good book covering Objective-C 2.0, with some rather specific requirements:

  • It must be available for purchase in ebook form. If it's only available as a paper/ebook combo, that's fine, too - but I want to be able to start reading it immediately after I buy it. Availability on O'Reilly Safari is a big plus, but not required. DRM is fine.

  • It must be primarily covering the language. If it's not the main topic (e.g. if it's a book on Cocoa), then the language coverage should be complete and thorough nonetheless, without stuff like "this is an advanced feature that you won't really need for UI programming, so just see the language spec if you think you're that smart".

  • It must not assume the reader is a newbie who doesn't know what a conditional statement or a loop is (or an idiot who needs to be reminded of that in every new language book he reads). I do not want to skip through half the book because it explains the most basic concepts on several pages each.

  • At the very least, it should assume that reader knows C already, and not try to teach a subset of that in a half-hearted way.

  • Ideally, it would explain Objective-C concepts, patterns and philosophy relative to a background in some other language - C++, Java or C# preferred, but virtually any OOP language is fine (e.g. I wouldn't mind an ObjC book for people with Smalltalk or Ruby background).

In particular, I've tried "Programming in Objective-C 2.0, Second Edition" by Stephen G. Kochan, and found it to be inadequate in light of requirements above (it also happens the book recommended in the accepted answer of the other SO question on ObjC books). Any other ideas?

+1  A: 

Pavel, check out Cocoa Programming. It's a great book, and assumes knowledge of a C-like language. It dives right into building a web browser.

It's hard to go wrong with any of the Pragmatic Bookshelf books.

Edit: I should clarify that it is a Beta book. However, Pragmatic Bookshelf's beta books are great quality, and the email you when updates are available. They also provide kindle, iphone, and PDF versions when you buy the ebook.

hobodave
A: 

I'm not recommending a book but Geoffrey Grosenbach's screencasts are an excellent way to get your feet wet. I've been a regular customer of his PeepCodes and he has one on Objective C as well (although it's meant for Rubyists - I've found it great).

Arun
+1  A: 

Try From C++ to Objective-C by Pierre Chatelier. I found it extremely helpful.

Jonathan Sterling
+1  A: 

I learned using Learn Objective-C On the Mac (Amazon Link). I did see the Kochan book, but after looking at the table of contents it did seem like it assumed the reader was completely new to programming. That said, I've heard a lot of good reviews on it, so I'm not saying it's a bad book, but I wanted something that assumed I already knew something. I figured it was this book, and I really liked it. It is available in PDF form as well.

It of course won't cover as many advanced topics, but it will teach you the language well enough for you to begin looking things up on your own in the documentation or in google. It definitely was a nice read, it didn't become monotonous or as if I were reading a manual. I was able to finish it quickly without feeling like I rushed through it.

Jorge Israel Peña
+1  A: 

Try Programming In Objective-C 2.0 by Stephen Kochan. I haven't personally read the 2nd edition (Objective-C 2.0) but the first edition was great. I've browsed the 2nd edition at the bookstore and it looks every bit as good.

alesplin
I've tried this (2nd edition specifically), but the problem is that it insists on covering the very basics - `for` loops, `if` statements, etc. It's a good choice if learning ObjC from scratch, but when one already has good understanding of C or C++, half of the book is effectively wasted.
Pavel Minaev
Probably true. When I was browsing through it at Borders I was mostly looking at the new stuff, so I didn't really spend much time at the front of the book.Apple's online docs might be a pretty good resource if you haven't spent much time there: http://developer.apple.com/mac/library/navigation/index.html
alesplin
I've read the second edition and it's too basic and without any perspective. Sometimes the author says that one peculiar practice is frown upon, without saying why. There's no comparison with any other language or technique and no feel of what idiomatic objective-C is like. And the style is boooooring.
Yann Schwartz
Apple online docs are actually much better, with less fluff and hand-holding.
Yann Schwartz
+8  A: 

Thanks for all the replies. While there's no book that fits all my criteria, turns out there's no need for one in the first place - Apple has excellent documentation covering Objective-C, which has everything that I've asked for, right on their website. Specifically:

The Objective-C 2.0 Programming Language - covers the language syntax and semantics in detail; focuses on ObjC additions only, and assumes working knowledge of C. "Language Summary" section is a very brief but nonetheless complete overview of all syntactic features.

Object-Oriented Programming with Objective-C - overview of OOP/OOD in ObjC context; mostly introductory, but helps understand the reasoning for some of the design decisions in the language itself

Pavel Minaev
I totally recommend this. Objective-C itself is pretty small and simple, and Apple's docs do a great job of explaining it without needing to pad the way a book would.
Chuck
While about to ask the same question I found your post and have concluded that these documents do seem very fitting for the task of a newcomer from Java/C# to start learning Objective-C, very good and thank you Pavel.
Brett Ryan
+1  A: 

In January 2010 there will be a book written by Scott Stevenson, called Cocoa and Objective-C: Up and Running.
Scott Stevenson writes tutorial on cocoadevcentral.com and rules theocacao.com .
If the book is written in the same way as the rest of his work, it seems pretty good.

EDIT : By the way, I forgot to mention "Learn Objective-C for Java Developers" from James Bucanek on Apress edition.

Studer