Best way to learn Cocoa?

There are lot of good Macintosh applications, like iTunes, Scrivener, Quicksilver and QuickTime. Did you ever wonder if you could create such an application yourself. Well I did, but I always imagined that the task was too hard and would require too much time. However couple of months ago I started to use a sweet application called Scrivener. It was developed by one person and I thought to myself. Look Bob, he managed to to do it, why wouldn’t you. It might have been true that the job to create Macintosh applications was very hard 10 years ago but maybe the tools have been improved.
I recalled the fact that Mercedes Benz predicted year 1900 that there would never be more than one million cars in the world. The reason was the lack of good car mechanics. In those days cars were of such poor quality that you actually needed a car mechanic when you bought a car. The prediction was sound and true to begin with, but the quality of the cars got better and the very premises on which the prediction was done, didn’t hold true. Maybe that’s true for programming as well. Well, I have to give it a try.
So what’s the best way to do it? I’ve learned that two books were required reading. “Programming in Objective-Câ€

Hi Bob. Definitely buy the two books you mention. That’s how I learned - those self-same books. Believe it or not, they are not at all dry; instead, they are practical, well-written and you can get through them both in a couple of months and suddenly feel ready to write your own Cocoa app. (I wish Hillegass would update his book soon, though, given that some things got a lot easier in Tiger and will get even easier in Leopard.)

The best place to get info from developers is via the Cocoa-dev lists at (though make sure you check out the documentation and search the archives before posting a question unless you want short shrift :slight_smile: ). Those lists are archived at

Those two books, CocoaBuilder, CocoaDev, the mailing lists and many searches of the internet are pretty much what I used to get going.

Best of luck!

Great idea Bob! I look forward to reading about all your trials and triumphs. Who knows? This may be the genesis of another excellent application.

Good luck

Roy :slight_smile:

Bob & Keith (a few months later),

Thanks. Like Bob, I came here looking because I heard Keith learned part-time. Even without looking, given the copyright date of Aaron’s book, I hesitate to buy (assuming he will be teaching me to use a hand drill when a power drill is now available).

Any new (up-to-date) suggestions would be appreciated. I will check out Bob’s site.


Unfortunately there aren’t any. Those two are still by far the best books available. Hopefully both will update their books at some point in the future, Kochan to cover Objective-C 2, and Hillegass to cover things such as Core Data. But unless you want to wait and hope, I would still recommend using these two books as a jumping-off point which will then put you in a good position to go through the extensive documentation and online tutorials to get up-to-date with everything else. Myself, I have yet to touch CoreData or Objective-C 2. :slight_smile:


Bob or Keith: Bob’s original post got itself garbled - could one of you re-post the names of the recommended books?


Stephen Kochan - Programming in Objective-C
Aaron Hillegass - Cocoa Programming for Mac OS X (third edition out soon)


I have the 2nd edition of Hillegass, which I am using to teach myself at the moment. In Leopard (XCode 3.0), lots of the Interface Builder has completely changed, which makes the book initially confusing. But I did the Apple tutorial first, and then his book, and have had very few problems adapting what he says to version 3.0 of XCode anyway.

But then, I work as a programmer, so for me it is just learning a new syntax and interface for concepts I already know. It may be harder if you are coming at everything from scratch.


I had hoped to create something in Xcode that would help me in my novel writing endeavours, but of course I discovered Scrivener and realised that someone had not only beaten me to it, but that they had thought of waaaaay more than I would ever have (cheers Keith! :wink: ).

However, this hasn’t deterred my interest in learning how to program on the Mac, and so, with very little programming experience, minimal understanding of this whole “object” thing, but lots of enthusiastic gusto - I have bitten the bullet and bought Kochan’s book on Objective-C. I think I shall wait for the 3rd edition of Hillegass’s Xcode book though, which is due out in May or thereabouts I believe… so that I can have something that relates specifically to Xcode 3.0

Looks like it could be a lot of fun. and who knows where it may lead.

Of course, all of this is just a typical distraction so that I don’t get on with business of writing that internationally successful novel :smiley:

Hey, and it’s a great distraction - three years down the line and I still haven’t written that international bestseller - but that’s only because I’ve been working on Scrivener. Obviously, otherwise I would be a household name by now. :slight_smile:

It is refreshing to see people attempting to learn how to write code or learn different code.

I for one, am learning Java utilizing the Xcode environment that comes free with Leopard. Honestly, I have not had this much fun in years.

I have never had to think in the way that programmers think and even though I am not finding it easy, I am making progress. It is interesting; I see my self as a writer first even though I am a recruiting consultant who does public speaking. (I am a closet intellectual…) I use words and ideas with abandon but have seldom needed the rigor that is required to program so I have a newfound respect for what programmers actually have to do and I find it a bit daunting.



Ok, so my copy of Programming in Objective-C by Stephen Kochan has arrived, and at first I was going to wait until the 3rd edition of the Hillegass Cocoa programming book - but it’s not published until the end of June… which got me to thinking (and here’s where I seek your advice):

Can I get by learning Xcode 3.0 using the 2nd edition of the Hillegass book, or has too much changed between the previous version of Xcode (the one the book refers to), and Xcode 3.0?

Xcode hasn’t changed so much, but Interface Builder - which you use to build interfaces (duh) has changed a lot. It took me a lot of getting used to it. At first I hated it, but now I realise it’s much better - though it has a number of bugs, omissions and awkward corners which will hopefully be fixed in future releases.

It might be a good idea just to start by going through Kochan’s book. That will take you a month or two, depending on how much free time you have. Then see how long you have left to wait for Hillegass’s third edition. You might be able to use some of the online resources and tutorials in the meantime. But you’ll need to go through Kochan’s book before you can even start on Hillegass’s anyway.


excellent advice, thank you very much :slight_smile:

I shall be diving into Kochan’s book this evening… I have a few program ideas floating around in my brain, looking forward to figuring out to make them! But I don’t expect instant results, of course :wink:

See also my post earlier in the thread.

I am using 2nd edition Hillegass, and have found it pretty easy to adapt to the differences, once I did Apple’s tutorial to show me around the new Interface Builder (Hillegass links to it from his website).

But I am a computer programmer, so I am not learning new programming skills, just a different language and environment (I picked up Objective-C without needing a second book on it… I just needed Hillegass’s Cocoa book instead).

Thanks Matt, I’ve done a little bit of programming (many, many years ago I studied C++) but I’m certainly not proficient in any language - and having worked a little way through the Kochan book on Objective C, I can see that it’s going to be a big help, but I’m keen to figure out Interface Builder too… so I suspect the Hillegass book is essential.

I’ll keep you all posted if I actually manage to make anything worthy.

Just so people know. There is a new 2nd Edition of Kochan’s Programming in Objective-c due in November. See:

Plus the 3rd edition of Hillegass came out just before Apple’s World Wide Developer’s Conference in June. See: … 321503619/


I have always wanted to learn Cocoa and how to write software for Mac OS X, and recently I have given myself plenty of time to do so. What I am interested in is whether or not I can use these skills to help pay the bills. Are there employers out there looking for these skills or would they be more for my own benefit? Now, mind you, I am not saying I only want to learn Cocoa for the money, but if I can learn Cocoa and earn just enough money with those skills to pay my bills, then I would really throw myself into the study. If, on the other hand, I am told that for all practical purposes, learning these skills would really be more like a hobby, then I will pick up the books, work at them and treat it as such while I invest my energies elsewhere. I figured that this would be the right thread to ask on and that I would get a proper answer from some people with proper experience. Thanks, as always, for your prompt attention!


Certainly job opportunities for Mac developers exist. It’s a thriving platform.

Whether companies doing Mac development would hire you personally is a different question, though, and depends on lots of things other than your Cocoa experience. If learning Cocoa is the first software development you’ve done, ever, employers will look at you differently from someone with tons of experience for whom Cocoa is just another tool.