My online Objective-C class with Steve Kochan is over, though my Objective-C education is not. I haven’t completed his book yet (Programming in Objective-C 2.0) and some of the coming sections look important, like saving data and file operations. However, his online iOS programming class has begun and I think I know enough Objective-C to go forward. Oh, boy, iOS programming here we come! Now we get to the fun part, creating apps at last.
Actually, I’ve down this road once before, using iPhone Application Development for Dummies by Neal Goldstein. Me and that book combined to make a bit of a disaster, though it was not entirely the author’s fault. At the time, I wasn’t in the habit of looking at the “Who This Book Is For” section in the introduction, something I’ve since learned to do with programming books. Had I done so, I might have noticed that the book would better suit someone with more programming experience, of which I had essentially none at the time. Knowing me, the fact that I needed more experience may not have stopped me. In any case, I plunged ahead with iOS programming using his book. I was clearly in over my head, but I thought, OK, I’ll figure it out…. just leave me alone, and I’ll figure it out.
And it worked in the beginning. I was coding! So what if all I was doing was retyping the materials in the book, it still felt like I was making progress, at least until the day that my iOS program didn’t work. See, the problem was that I working with no understanding of what I was doing, and when the example from the book failed, I had no idea what to do. I checked my code for errors the best I could, but could not for the life of me figure out what was going wrong. Of course I couldn’t make use of the XCode error messages because I didn’t understand them either. It was then that I realized that I needed more background if I was ever going to become an iPhone programmer. This is harder than I thought! I gave up on that book mid-way through and started on C and then Objective-C.
Despite my difficulties, I got some good things from iPhone Application Development for Dummies. It started me using Xcode, it got me into Apple’s iOS Developer Program, and it taught me that I have a long way to go before I can call myself an app developer. Neal Goldstein suggests in the “Foolish Assumptions” section of his Introduction that a “passing acquaintance” with C++, C#, or Objective-C is sufficient for readers of the book, or that a few pointers would get the reader up to speed. In my experience, that’s not quite accurate. More like, you should have spent some time studying those languages, or better yet, be a programmer familiar with one of them. A “passing acquaintance” is not sufficient. I suppose it doesn’t matter much now, since I’ve taken a different path to learn iOS programming, but a more accurate description of the requirements might have saved me some time and effort.
So now I’m making iOS applications. Nothing I would want to put onto my phone yet, but still, I’m creating things that actually work, and when they don’t work, I know enough to figure out what the heck’s going wrong. Here’s a screenshot of my first working app:
It’s the iOS version of a fraction calculator; that is, an application that will add, subtract, multiply, and divide fractions (would have been useful in fifth grade, right?) It really works! It’s the standard exercise in Programming in Objective-C 2.0, at the end of the book. I didn’t get it right the first time, and had to fix a bunch of things, but I finally got it working properly. I know, it’s just an exercise that a million other people have also done, but I’m still quite proud of it. It’s the first of many, I hope.