Into the Cocoa ZoneI don't mean that this is the Cocoa Zone. It's that a couple of weeks ago I was working on a program and I felt that I had got into the zone -- everything was just working the first time, Project Builder and Interface Builder were doing exactly what I wanted, and it was great. Of course it didn't last forever, but for a while I was in the Cocoa Zone. I'm writing this in the hope that it will help me get into the Cocoa Zone more often, and help you get there, too.
If you don't know, the Cocoa under consideration is Apple's application framework for Mac OS X programs. It started as Next Computer's Next Step, and was already impressive when Next was new almost 20 years ago. But anyway. It lets you build programs that look beautiful and do a lot with relatively little effort on your part. That's because it lets you use a lot of work that Next and Apple have put into the system.
If you're not interested learning to program for Mac OS X, you're in the wrong place. Sorry. So long. If you're interested, see if there's anything here for you. I'm planning to start slowly, so a curious fourth-grader could get something out of this. As I went back and looked at what I had written, I noticed an emphasis on detective work. I was talking a lot about how to read programs (or in this case, how to use Project Builder and Interface Builder to investigate project files), figure out how the original author had done things, and use the existing program as an example for pushing forward. It's only fair to let you know right now that I advocate that approach.
There's always a tension between taking advantage of what other people have done and doing it all yourself. Sometimes it seems that it's going to be more fun to do everything yourself and be able to say it's all your work. It certainly is fun to be able to say that, but it takes forever to get anything impressive done. Cocoa programming is something that takes a lot of advantage of other people's work. Using it you can get really impressive things going in hardly any time, but you can't do everything all by yourself. My recommendation is that you get used to it. There's that famous quote from Isaac Newton, something like, "If I have seen farther than others, it is by standing on the shoulders of giants." Use the power that Apple is giving away in its development tools and stand on the shoulders of giants.