When newcomers to programming on the Mac ask me for advice about getting started with Cocoa, I usually boil it down to three steps, depending on the amount of time and money they are prepared to put into the task:
If you’re the slightest bit curious, buy Mark Dalrymple and Scott Knaster’s affordable book, Learn Objective-C on the Macintosh. It’s great that this book not only starts from the very beginning, but is available as an easy electronic download, for instant gratification. If you’re convinced you’re in for the long haul, but prefer to learn at your own pace and in your spare time, pick up Aaron Hillegass’s Cocoa Programming for Mac OS X. If it’s time to put the pedal to the metal, and you want to minimize the chances of failing as you learn the basics of this art, drop everything and enroll in the Objective-C and Cocoa Bootcamp class at Big Nerd Ranch.
Big Nerd Ranch is run by the very Aaron Hillegass who authored the book you picked up in step 2, and he teaches the Cocoa bootcamp class himself. The class is not cheap, but neither is it exploitatively expensive. You will learn to program for the Macintosh with a group of classmates, living and programming on a bucolic country retreat, where your meals and lodging are taken care of.
The Big Nerd Ranch concept is exciting, and I have often fantasized about attending a class there myself. I’m probably overqualified for the boot camp, though as with most life experiences, you learn something when you review the basics. The ranch offers a variety of classes in addition to the boot camp, including courses on more advanced Cocoa programming, iPhone development, and even on Django and Ruby on Rails web programming.
Right now, Aaron is busy building a bigger, better, greener, serener (funner? funnest?) Big Nerd Ranch. He’s actually bought a large plot of land and is drafting plans for several new buildings. He’s treating all of us to many glorious details on his personal blog: possible/probable. The blog frames itself as the chronicle of a man in his mid-youth, aiming to improve an already successful life by taking chances and aiming for the stars. It so happens that his stars form a constellation that idealizes and glorifies learning to program on the Mac.
When you check out the blog, be sure to read through the archives. You’ll be riveted by his stories of searching for suitable property, securing bank loans, winning and losing architects, and grappling with the underlying question of just how crazy pursing this dream might be.
Fortunately for us, Aaron seems to be guiding his own life with the words of his blog title, “possible” and “probable.” I interpret these slash/stroke separated terms optimistically, as I expect he does. If you can imagine something, if it seems vaguely possible, then with a little work it is made probable.
I find Aaron’s optimism inspiring, and his stories remind me of my own possible/probable dreams still waiting to be fulfilled. His zeal for the pursuit of happiness rests safely between recklessness and painful deliberation. He recognizes that while frightening risks need to be taken, putting in hours of hard and tedious work will greatly improve the odds of success.
We should all get to work turning our own possibilities into probabilities, because nobody else is going to do it for us. With the help of Aaron’s blog, we might find ourselves inching just a little bit closer.