A huge, huge part of MechaWorks is going to be focused on software development. But, there’s one little problem: I can’t code.
Now, that’s not as huge of a problem as it sounds; I’m great at leading programmers. I can diagram and explain every Mac OS X API, I’m able to tell people why things like the .NET Framework are important, and I can generally understand what code is saying. In short, leading developers is what I should be doing… writing code involves my eyes glazing over (Simpsons-doughnut style… mmm… doughnuts).
But, knowing how to write Cocoa apps certainly can’t hurt. So, I’m learning. Unfortunately, Apple hasn’t made that as easy as their executives try to make it out. That’s a two-pronged problem; making great tools, and making simple guides to leverage them.
On one side, Apple has some of the best developer tools out there. I don’t know of a better IDE than Xcode, and I know all the reasons why it’s great. The problem is, Apple doesn’t have resources for people that want to make that jump from AppleScript/BASIC/Ruby/Python to Cocoa. This is an even harder problem for Apple, because most people that learn the basics of any of these languages will learn their limitations… and want to jump to Cocoa before they’re familiar with the first language they’re learning.
Sure, there’s lots of sample code. And yes, Xcode now starts you off with a “blank” application that’s ready-to-build. But, you need to know the constructs. And, that’s where Apple really stumbles. I haven’t seen one seminar, one Apple Store event, anything outside of WWDC that lets people tiptoe into Cocoa.
And no, WWDC is not an event I would particularly consider to be the first place a new Apple developer would go to. It’s an advanced event aimed at letting seasoned Mac developers get their questions answered, and prepare for what’s next in cutting-edge Mac development.
So, where can you start? I know, you were waiting for me to get to that. Well, CocoaLab has published a nice guide about a year ago… it’s even current with things like garbage collection (don’t worry, you don’t need to know what that is yet). I haven’t finished it (they do stress you should go through the guide completely 2-3 times), but I have found it to be an excellent resource so far.
Apple has their own guide, but unfortunately, it takes for granted that you know a lot of C-level programming constructs.
What’s the learning curve? Well, that depends on what you define as a learning curve. First, you have to learn to use the computer. For me that took a month when I was five years old. Then, you have to master using a computer (that took me a few years). Then, you have to get up the want to develop (getting over that eyes-glaze-over issue). What I’m getting at is… I can’t answer that for you.
That said, Obj-C is something that (so far for me) is showing much shorter of a learning curve than the competition. What am I working on that needs this? Well, if you’re qualified, I might just be able to bring you in the loop on that.