views:

239

answers:

7

I'm looking for reading material to bridge the gap between "read Hillegass multiple times" and "productive Cocoa programmer". What materials do you suggest?

I am not particularly looking for iPhone/Cocoa Touch resources, though if they are also relevant to Mac programming, I'd take a look.

Edit: I do appreciate that there is no substitute for spending time writing code for improving skills/productivity. I am doing that, but I am also interested in identifying more reading material aimed at the intermediate Cocoa programmer. Thanks!

+4  A: 

Forget reading - write a few apps that do the things you want to learn about. When you're stuck, refer to Apple's documentation or sites like SO and cocoadev.

psychotik
+4  A: 

Besides writing some apps, I would start with the programming guides at Apple's Dev Center. If/when you understand what's explained in each guide (and why), you'll be well on your way to being an expert Cocoa programmer.

An other great way to make the next step is start answering questions, here on SO or on the cocoa-dev list. Pick a question, answer it if you can or read up until you can, then give it a go. Nothing solidifies understanding or clarifies areas where you're still missing something than trying to teach someone else.

Barry Wark
+10  A: 

I guess the best use of your time on the way to "productive Cocoa programmer" is, (a) practice, practice, practice, and (b) perhaps reading the source of some good open source Cocoa projects.

On the subject of books, I am just half way through the new Cocoa Design Patterns by Buck/Yacktman and I have to say it is a really nice book. It's not so much a Cocoa version of the famous "Gang of four" book (that's what I expected from the title) but rather an explanation of many of Cocoa's underlying and repeating patterns, such as:

  • the dynamic nature of the runtime
  • decoupling patterns like delegates and notifications
  • the intricacies of the view hierarchy, responder chain, and the target-action mechanism
  • associative storage, invocations, bundles, class clusters, proxies, etc.

The book does include some factual errors (which one doesn't?) and some chapters in the first half offer not much more than Apple's documentation (e.g., the ones on Archiving/Unarchiving and Copying. Ultimately, this can probably be said about most chapters) but overall I think it's a good read for medium-skilled programmers.

Ole Begemann
Cocoa Design Patterns had caught my eye. Thanks for the suggestion!
Mike Furtak
I upvoted, but I also want to specifically say that this book would be fantastic for someone who wants to understand Cocoa's internals a bit better. Many of the "patterns" are simply in-depth discussions of the way Objective-C handles certain programming problems.
Alex
+2  A: 

I like Programing Objective-C 2.0 by Stephen G. Kochan. It's a good reference book and it's available on O'Reily's Safari library.

TechZen
+4  A: 

I recommend Erik Buck and Don Yactman's "Cocoa design patterns". Those guys have decades of experience in this environment, and they communicate what they know very effectively.

NSResponder
+2  A: 

Books get out of date quickly. Once you're up to speed on Cocoa the best thing to do is to actively follow Cocoa related blogs. You'll be surprised by how much you learn each day.

Here are the ones that I follow:

http://www.google.com/reader/bundle/user%2F11256609006614898631%2Fbundle%2FCocoa

The best one by far is Cocoa With Love:

   http://cocoawithlove.com/
Leibowitzn
I was hoping some blogs would get suggested as well. Thanks!
Mike Furtak
+1  A: 

Here's another book by Dalrymple and Hillegass: Advanced Mac OS X Programming

It's specifically for Mac programming, but might be a little old now (2005). (I'm assuming when you said "Hillegass" you meant "Cocoa Programming for Mac OS X")

nevan
Yes, I did mean Cocoa Programming for Mac OS X, but I will look into the other - thanks!
Mike Furtak