Mac Best book to learn Cocoa and Objective C?

valiar

macrumors regular
Original poster
Mar 14, 2006
222
0
Washington, DC
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

macrumors 68040
Oct 25, 2004
3,525
253
The single best book for Objective-C is "Programming in Objective-C" by Stephen G. Kochan.
 

mrfrosty

macrumors 6502a
Oct 1, 2005
500
21
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

macrumors 65816
Sep 8, 2005
1,005
0
London , UK
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

macrumors member
Nov 27, 2006
49
0
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

Moderator emeritus
Mar 16, 2004
22,910
41
Andover, MA
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

macrumors 65816
Sep 8, 2005
1,005
0
London , UK
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

Moderator emeritus
Mar 16, 2004
22,910
41
Andover, MA
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

macrumors regular
Apr 15, 2006
118
0
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

macrumors newbie
Sep 17, 2008
2
0
Metro Washington, DC
Best Devel environment

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

macrumors member
Aug 16, 2008
67
0
I'd doubt there is anything much better than XCode for iPhone development considering it has the iPhone simulator build in.
 

liptonlover

macrumors 6502a
Mar 13, 2008
989
0
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

macrumors newbie
Sep 17, 2008
2
0
Metro Washington, DC
Thanks for the tips

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

macrumors 603
Aug 29, 2006
5,428
266
Home
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

macrumors newbie
Dec 6, 2007
12
0
San Diego
Updated

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

macrumors regular
Apr 1, 2006
150
0
California
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

macrumors newbie
Jan 1, 2009
11
0
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? :)
 

thekrazykid

macrumors newbie
Dec 28, 2008
7
0
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

macrumors newbie
Dec 6, 2007
12
0
San Diego
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

macrumors regular
Aug 4, 2008
134
0
los angeles
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

macrumors 6502a
Oct 26, 2003
930
6
Richmond, VA
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.