PDA

View Full Version : Best book to learn Cocoa and Objective C?




valiar
Jul 29, 2007, 11:42 PM
Well, I know there is no single "best" book... :)

But what books do you like, what books do you not like, and what would you recommend?

All the major programs I have been writing so far are in Java, and I like Java - but I really want to switch to Mac-specific language for the reasons of performance and interface prettiness.



iSee
Jul 30, 2007, 12:02 AM
The single best book for Objective-C is "Programming in Objective-C" by Stephen G. Kochan.

Littleodie914
Aug 4, 2007, 12:14 PM
And for Cocoa programming, the hands-down champ is Aaron Hillegass' "Cocoa Programming for Mac OS X: Second Edition." :)

Alloye
Aug 4, 2007, 01:39 PM
The single best book for Objective-C is "Programming in Objective-C" by Stephen G. Kochan.

And for Cocoa programming, the hands-down champ is Aaron Hillegass' "Cocoa Programming for Mac OS X: Second Edition."

I second both of these nominations.

azizane
Aug 4, 2007, 02:06 PM
I third that! :), i would start by reading the objective c book first

mrfrosty
Aug 4, 2007, 02:46 PM
Would you say the give the same recommendations for me if i told you i hadn't really done any programming since a little pascal at University some some 12 years ago ?

MacDonaldsd
Aug 4, 2007, 03:09 PM
I have both sitting beside me know. Id recommend the both of them. As you are not a programmer currently in any language, you really need the both of them.

azizane
Aug 4, 2007, 03:41 PM
Would you say the give the same recommendations for me if i told you i hadn't really done any programming since a little pascal at University some some 12 years ago ?


sure, the objective c book is very basic and is written to help you getting started in objective c. after finishing that you can jump in the cocoa book

jsw
Aug 4, 2007, 03:46 PM
One item to note is that Objective-C is significantly enhanced in Leopard, so note that some of the things in those books are going to be outdated.

Not a lot, and not so much as to be a problem. Just some of the painful things have been fixed. :)

MacDonaldsd
Aug 4, 2007, 04:16 PM
One item to note is that Objective-C is significantly enhanced in Leopard, so note that some of the things in those books are going to be outdated.

Not a lot, and not so much as to be a problem. Just some of the painful things have been fixed. :)

I think you can still use the old syntax though can't you ?

jsw
Aug 4, 2007, 04:18 PM
I think you can still use the old syntax though can't you ?
Yup, at least for the most part, as far as I know. Some of the tedious bye necessary garbage collection, etc., tasks have been made easier or eliminated, though.

The demo I saw in January of all the spiffy new features reminded me a lot of how eclipse was with Java years ago, but still.... :)

x704
Aug 5, 2007, 12:48 AM
I would like to add to that a C book or two. Objective-C is basically C only with OOP built in, so all C stuff applies to Objective-C as well. I have a couple C books in addition to the Objective-C one that everybody adores... good stuff :)

typoboy
Sep 17, 2008, 11:14 AM
This is a perhaps related question from a Mac development novice: What would you suggest is a "best" development environment for learning to program for the MAc/iPhones, etc.

I have my eyes on a MacBook (blk) and the iPhone SDK, since my interest is in developing apps for the iPhone. Recommendations would be appreciated.

TypoBoy
Washington, DC USA

JonnyThunder
Sep 18, 2008, 05:37 AM
I'd doubt there is anything much better than XCode for iPhone development considering it has the iPhone simulator build in.

liptonlover
Sep 18, 2008, 08:36 AM
I would recommend hillegass, (third edition is the latest, idk why they're recommending 2nd) and from what I've heard kochan too. (heaven't used it)
But really, I think free online tutorials are way better than books. The best tutorial I've seen is becomeanxcoder at www.cocoalab.com it's a little out of date but recent enough that it's easy to figure what's what. The tutorial assumes you don't have any programming knowledge, which makes it great for anyone between that and being a cocoa/objc expert. So yeah... it's an awesome tutorial.

You can also get in depth into C, which may be smart, and C++ too if you're interested, at www.cprogramming.com. I used it and it's a great place. I never understood pointers until I went there.

Good luck!
Nate

typoboy
Sep 19, 2008, 06:44 AM
I'm great for beginning projects and not seeking out the advice and help I need to complete them. So I'm taking a different approach here, and it has helped already. You have confirmed my suspicion that I should focus on Objective-C, and the digital book in the Cocoalab starts at a great place for me.

I should share something else I came across yesterday, a great post by a guy, Mike Ash. In his post, he chronicles his ordeal with Apple, as he worked through getting an iPhone app approved. I feel that, bottom line, the hassle one goes through is frustrating and to some degree unnecessary; but that you get a lot of value (enormous, inexpensive market exposure for you app). Whatever your opinions, the post should be sobering to folks who, like me, had plans to download the iPhone SDK, whip up a quick app, and go on to, in my case, revolutionize the non-profit world by porting a database of volunteer and charitable giving opportunities to the iPhone. Seems it just happen so simple, even for an experience Mac developer:

http://www.mikeash.com/?page=pyblog/the-iphone-development-story.html

tanx
TypoBoy

t0mat0
Oct 18, 2008, 09:51 AM
Bear in mind that time has passed, and Apple was basically setting up the App Store from scratch. I'd imagine that some of the problems experienced have been smoothed over.

softweyr
Dec 23, 2008, 12:07 AM
Both of the books mentioned in this thread have been updated recently. I have the 3rd edition of Hillegass at hand (well, on the coffee table). If you know C, you probably won't need a book on Objective-C just to get going with Cocoa programming. Get the Hillegass book, look at his introductory chapter, and start slinging some code.

If you're not already a C or C++ programmer, I can recommend the Kochan book just on the basis of having been a Stephen Kochan fan for 20+ years. I've looked through it at the LBS, and hope it will be in my stocking in a few days. In the meantime, I've written a couple of Cocoa Apps already, and am working on my third now. Do get the updated edition, which covers the new language features, and forget about memory management (until it bites you).

skochan
Dec 28, 2008, 08:58 PM
I can recommend the Kochan book just on the basis of having been a Stephen Kochan fan for 20+ years.

Hey, thanks for making me feel old! ;) Seriously, thanks for the kind words.

FYI, The second edition of my Obj-C book will be released this week. There's another thread here that describes some of the changes I've made.

Cheers,


Steve Kochan

lymanicempire
Jan 1, 2009, 11:54 PM
Hey, thanks for making me feel old! ;) Seriously, thanks for the kind words.

FYI, The second edition of my Obj-C book will be released this week. There's another thread here that describes some of the changes I've made.

Cheers,


Steve Kochan

Thanks, Steve. Guess who just preordered it on Amazon? :)

TodVader
Jan 2, 2009, 11:39 PM
I preordered a long time ago. I hope amazon.ca gets it soon. It's now 'in stock' at amazon.com.

thekrazykid
Jan 3, 2009, 02:00 AM
how much objective-c does the hillegass book assume that you know? if i know python and quite a bit of java will i be able to read this book without reading a book about objective-c first?

softweyr
Jan 5, 2009, 12:06 AM
how much objective-c does the hillegass book assume that you know? if i know python and quite a bit of java will i be able to read this book without reading a book about objective-c first?

If you don't already know a pointer-based language, especially C or C++, you're probably going to get lost as soon as you encounter any pointer-based code. That's somewhat rare in Obj-C, other than declaring pointers to objects, but you'll bump into it sooner or later.

I'd recommend getting the Hillegass book, working through the examples, and then dive into Obj-C on the side once you get lost.

For an old C/C++ programmer, picking up enough basics of Obj-C to pound out a Mac application is pretty simple process. I know, I did it. :eek:

quid squid
Aug 5, 2009, 01:54 PM
bringing this thread back to life :)

I decided recently I wanted to dive into the world of programming, only knowing html and messed with a bit of java and css, Objective-C is something completely new to me.

I picked up the Kockan's Programming in Objective-C 2.0, Cocoa Programming for Mac 3rd edition, and Beginning iPhone 3 Development: Exploring the iPhone SDK. All 3 of them seem like great resources and I can't wait to start the learning process, but I want to make sure I do it right.

I have heard conflicting advice on where to start. I was originally told I should start on the Objective-C and learn the basics of that and them move onto Cocoa and round it out as an overview with the Beginning iPhone Development book. Another programmer suggested starting with the Beginning iPhone book, then Objective-C.

Any suggestions from people who have gone through these books?

GorillaPaws
Aug 5, 2009, 02:13 PM
Any suggestions from people who have gone through these books?

Start with Kochan. It's command line, so it'll be less sexy than working with the interface builder stuff that you'll see in the other books, but Objective-C is really a pre-requsite to understanding Cocoa/Cocoa-touch. You may get a bit bored with the command-line apps and it would be ok to mess around with some of the earlier chapters of the other books, but you should really finnish Kochan (especially the 2nd half that focuses on the foundation framework) before pushing very far into the cocoa/cocoa-touch programming stuff.

Sal T
Sep 4, 2009, 03:32 PM
There are a number of good iPhone and Mac books from Apress. Learn Objective-C on the Mac by Mark Dalrymple and Scott Knaster is great and there are two other books in the pipeline - Learn Cocoa on the Mac and Learn Objective-C for Java Developers which I'm keen to release.

steezy1337
Nov 23, 2009, 07:45 PM
i'm currently learning c++ at college as part of my foundation degree (UK) but i'd like to look more into developing apps for mac, would i be okay to go straight to the Hillgrass book or should i still go with learning objective c first?

chown33
Nov 25, 2009, 04:32 PM
i'm currently learning c++ at college as part of my foundation degree (UK) but i'd like to look more into developing apps for mac, would i be okay to go straight to the Hillgrass book or should i still go with learning objective c first?

Try an online Objective-C tutorial. If you can pick up the language in a weekend, skip buying a book for it. If you can't pick it up, buy the book.

Any decent tutorial would work for this trial. E.g.:
http://cocoadevcentral.com/d/learn_objectivec/

Google for more.

Also use this as a reference:
http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html

softweyr
Dec 8, 2009, 01:46 AM
Try an online Objective-C tutorial. If you can pick up the language in a weekend, skip buying a book for it. If you can't pick it up, buy the book.

Any decent tutorial would work for this trial. E.g.:
http://cocoadevcentral.com/d/learn_objectivec/

Google for more.

Also use this as a reference:
http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html

Another great resource is the free book "Become an Xcoder", available at http://www.cocoalab.com/?q=becomeanxcoder. That said, if you know C and have some idea of what C++ does, you can probably pick up enough Objective-C from the Hillegass book. Eventually you'll probably want the Kochan book to progress with the language, but these resources will get you to the point where you can dip your toes in Objective-C without getting them frozen off. :eek:

cloud
Dec 10, 2009, 04:14 PM
Hi all. I'm a n00b when it comes to programming, but I didn't want to start a new thread. Let me know if this is a good reading/learning course of action to take when it comes to books in order to make an iPhone app:


Learn to Program (http://www.amazon.com/Learn-Program-Second-Facets-Ruby/dp/1934356360/ref=sr_1_1?ie=UTF8&s=books&qid=1260482595&sr=8-1)
Absolute Beginners Guide to C (http://www.amazon.com/Absolute-Beginners-Guide-C-2nd/dp/0672305100/ref=sr_1_1?ie=UTF8&s=books&qid=1260482625&sr=1-1)
Learn C on the Mac (http://www.amazon.com/Learn-C-Mac-Dave-Mark/dp/1430218096/ref=sr_1_1?ie=UTF8&s=books&qid=1260482645&sr=1-1)
Learn Objective C on the Mac (http://www.amazon.com/Learn-Objective-ndash-Mac/dp/1430218150/ref=sr_1_2?ie=UTF8&s=books&qid=1260482652&sr=1-2)
Head First iPhone Development (http://www.amazon.com/Head-First-iPhone-Development-Applications/dp/0596803540/ref=sr_1_1?ie=UTF8&s=books&qid=1260482687&sr=1-1)
Beginners iPhone Development (http://www.amazon.com/Beginning-iPhone-Development-Exploring-SDK/dp/1430224592/ref=sr_1_1?ie=UTF8&s=books&qid=1260482761&sr=1-1)
Programming in Objective-C 2.0 (http://www.amazon.com/Programming-Objective-C-2-0-Stephen-Kochan/dp/0321566157/ref=sr_1_1?ie=UTF8&s=books&qid=1260482790&sr=1-1)
Learn Cocoa on the Mac (http://www.amazon.com/Learn-Cocoa-Mac-Jack-Nutting/dp/1430218592/ref=sr_1_4?ie=UTF8&s=books&qid=1260482836&sr=1-4)
Cocoa Programming for Mac OS X (http://www.amazon.com/Cocoa-Programming-Mac-OS-3rd/dp/0321503619/ref=sr_1_1?ie=UTF8&s=books&qid=1260483074&sr=1-1)


I plan to have that initial batch of learning done by June 2010. I'll still teach myself new stuff, but I'll have to see where I'm at with programming knowledge by that time. My main goal is to be able to make decent iPhone (and Apple Tablet) apps. Maybe a program for the Mac for them to sync to. That goal is set at January of 2011.

Do you think it's possible? Thanks again!

:apple:

djebby
Dec 23, 2009, 04:45 AM
my plans are to develop apps for the iphone, i'm not concerned with apps for the mac so plan to purchase the following books:

Programming in Objective-C 2.0 - Kochan
Beginning iPhone 3 Development: Exploring the iPhone SDK - Mark / LaMarche
Cocoa Programming for Mac OS X - Hillegass

Does this seem like a good set of books to start with? I'm not 100% about the Hillegas book as its name indicated its focused on Mac, not iPhone. Anyone got any experience of the book who can give me their view in relation to iPhone development?

itsbarry
Dec 23, 2009, 10:37 AM
my plans are to develop apps for the iphone, i'm not concerned with apps for the mac so plan to purchase the following books:

Programming in Objective-C 2.0 - Kochan
Beginning iPhone 3 Development: Exploring the iPhone SDK - Mark / LaMarche
Cocoa Programming for Mac OS X - Hillegass

Does this seem like a good set of books to start with? I'm not 100% about the Hillegas book as its name indicated its focused on Mac, not iPhone. Anyone got any experience of the book who can give me their view in relation to iPhone development?

Do you already have programming experience? If so, those books should work for you. If not, you're going to get confused with the Kochan book, I don't care what anyone tells you. It's a good book, but without some knowledge of programming, it won't stick or make enough sense.

Which area do you fall in?

:apple:

djebby
Dec 23, 2009, 03:44 PM
Do you already have programming experience? If so, those books should work for you. If not, you're going to get confused with the Kochan book, I don't care what anyone tells you. It's a good book, but without some knowledge of programming, it won't stick or make enough sense.

Which area do you fall in?

:apple:

thanks for the reply...

yes i have around 7 years of oracle pl/sql and have minor exposure to C++, i think i'll go with those 3 books then, i already have the kochan one and find it fairly good going so far so will look at picking up the others also...my biggest challenge will be completely grasping all the aspects of OO but i'm sure with a bit of hard work it should all fall into place

GorillaPaws
Dec 23, 2009, 04:29 PM
Do you already have programming experience? If so, those books should work for you. If not, you're going to get confused with the Kochan book, I don't care what anyone tells you. It's a good book, but without some knowledge of programming, it won't stick or make enough sense.

I went from essentially zero programming experience to having a decent grasp of the fundamentals from going the Kochan/Hillegass route. It's not easy by any means, but I think it's pretty doable.

One of the nice things about the Kochan book is that he doesn't assume you've mastered a subject just because he introduced it earlier. I realize that tutorials need to "build" on earlier concepts, but Kochan still takes the time to explain what's going on in the code even if it's a topic that was covered previously. This means that I never reached a part of the book where I couldn't follow what was going on.

I do think it's wise to supplement these resources with documentation, tutorials and other books. I found "Cocoa Design Patterns" to be a nice followup to Hillegass; it focuses on the theory and philosophy behind the various patterns and architectures in the Cocoa Frameworks, whereas Hillegass tries to focus on the more practical implementation details. Both approaches work well, but I would definitely suggest reading Hillegass first.

thisday
Dec 24, 2009, 02:55 PM
Do you already have programming experience? If so, those books should work for you. If not, you're going to get confused with the Kochan book, I don't care what anyone tells you. It's a good book, but without some knowledge of programming, it won't stick or make enough sense.

Which area do you fall in?

:apple:

If someone doesnt have programming experience what do you suggest?

softweyr
Dec 25, 2009, 11:15 AM
Does this seem like a good set of books to start with? I'm not 100% about the Hillegas book as its name indicated its focused on Mac, not iPhone. Anyone got any experience of the book who can give me their view in relation to iPhone development?

I would recommend it because it will be a great introduction to the Objective-C libraries and especially Cocoa. You may want to get the other two and keep the Hillegas book as a fallback if you find yourself floundering.

djebby
Dec 27, 2009, 12:06 PM
I would recommend it because it will be a great introduction to the Objective-C libraries and especially Cocoa. You may want to get the other two and keep the Hillegas book as a fallback if you find yourself floundering.

thanks, i've ordered the 3 books, wish me luck on my journey :)

NeuralControl
Dec 30, 2009, 07:44 PM
Good luck to you. I am awaiting my Hillegrass book and I can not wait to begin learning.

nixesmixes
Feb 4, 2010, 01:16 PM
Very good thread...thank you everyone for the sage advice. I am new to iPhone application development. I have ordered the Objective C book and found the 2nd edition of the Hillegass book for 5 dollars. Do you think I can get away with the second edition or is it essential to have the newest version.

Has anyone picked up Cocoa Touch for iPhone OS3 and if so is it a helpful purchase?

Thank you!

Tex-Twil
Jun 14, 2010, 03:07 AM
And for Cocoa programming, the hands-down champ is Aaron Hillegass' "Cocoa Programming for Mac OS X: Second Edition." :)
Hello,
now there is a 3rd edition but it is from 2008. I would also like to read a book about Cocoa dev but I wonder if 2008 is not too old. Maybe the core ideas do not change but a lot of things are done via the interface builder which changes quite fast.

ZipZap
Feb 23, 2011, 07:16 AM
I have a background in programming though not C.

The last post on this thread was mid-2010.

What would folks recommend today as good book/video resources for learning Objective-C, Cocoa in preparation for building iphone/ipad applications.

balamw
Feb 23, 2011, 07:21 AM
What would folks recommend today as good book/video resources for learning Objective-C, Cocoa in preparation for building iphone/ipad applications.

Tell us a bit more about your experience, and goals, as there may be resources that are particularly well tuned for your situation and needs.

The main recommendations remain the same:

Kochan and Hillegass remain the two most recommended books. Kochan will have a new edition later in the year.

The Stanford iTunes U course is an awesome, free video resource.

Personally, I also enjoyed Scott Stevenson's book from O'Reilly which collects and expands a bit on cocoadevcentral.com.

B

harriska2
Mar 16, 2011, 11:57 AM
Hi, I've got a few years experience as a PL/SQL procedural language programmer but have been stymied by OO. I tried my hand at object oriented PHP - should have seen the stack of books I went through but to no avail.

Any suggestion for the first 2 books for someone really struggling in OO with absolutely no background in C or Java? Is there such a thing as a tutor that doesn't cost an arm and a leg to help when I get stuck?

mydogisbox
Mar 16, 2011, 07:26 PM
You might want to create a new thread instead of posting on an old one.

macdudel
Nov 11, 2011, 01:30 PM
Two very recent additions that I found very useful are:

Objective-C Programming: The Big Nerd Ranch Guide

****************ikoXU

Programming in Objective-C (to be precise it's the 3rd edition that is new)

****************7nFr8

Thanks
Uli