May 04
Learning to program for the iPhone
It’s probably no surprise that there has been a deluge of folks asking “Hey, what’s the best way to learn to program the iPhone”. Since I set up and run the Seattle XCoder’s group, I’ve been getting my fair share of those.
Some folks have traditional programming/CS backgrounds, and it’s easy enough to redirect them to some good resources to learn. It’s the folks that have little or no programming background, but who want to get into the game anyway that I’ve been finding harder to help. Much as we’re a great bunch of folks to ask questions and get tips, Seattle XCoders isn’t a tutorial house.
I’ve had several folks come to me with a programming background in javascript and nothing else. Javascript is clearly the new “BASIC” - probably has been for a while, and I haven’t been paying attention. I actually think that’s really cool on a bunch of different levels, but it makes explaining Objective-C, C, and memory management quite a bit more difficult. For a lot of those folks, I’ve had to punt - not much to help them. I suggest that they get a basic course in C programming and build up from there. I don’t think that’s really doing the whole setup justice, but it’s the best I could wrangle out.
As of yesterday, I might have a new tactic. Uli Kusterer has put up a “Learning C on the Macintosh” tutorial site called Masters of the Void. Uli’s done some really great things in Mac programming, and definitely know’s his stuff. Way better than me, definitely - and quite a bit more in depth than many I’ve run into. That being the case, I’m hoping it translates well into a tutorial on C for the Macintosh. The examples, details, and so forth in the site all point to using Xcode. I don’t know that it takes anyone beyond strict “C” programming, but it’s a hell of a jump start, and freely available.
So if you’re hunting around for a start on programming for the iPhone and you haven’t ever touched C, I’d say start with Masters of the Void and build up from there.

May 5th, 2008 at 2:49 am
What about “Programming in Objective-C”? Look it up on Amazon.
May 5th, 2008 at 6:56 am
Frankly I found that folks without little programming background have had a very hard time dealing with the low-level constructs of C. Objective-C by itself isn’t hard - and it’s very easy to skim over some of the more difficult concepts in C. That leaves a lot of folks in sort of a bind just a bit further on when they want to use something from CoreFoundation or they’re having an error with the compiler that they just don’t understand.
I actually prefer to recommend Cocoa Programming for Mac OS X by Aaron Hillegass as an “Intro to Objective-C” book.