One of my New Year’s resolutions for 2009 was to get off my arse and write an iPhone app and get it published in the App Store. Not much progress was made in the way of attaining this goal during January and early February of this year, as the 60-70 hour work weeks have steadily continued from last year into this year. However, in mid-February I finally got the motivation to get started on this endeavor. I ordered an Objective-C book and an iPhone SDK Programming book from Amazon and eagerly awaited their arrival.
A few weeks later they arrived in the mail and I began to dive into iPhone programming. I recall big Steve saying back in the day that for anyone wanting to program on the Mac (and thereby iPhone since it runs Mac OS X) they ought to learn Objective-C, as that is the main language that Mac applications are written in. So I started off with the Objective-C book, reading the first hundred pages or so.
Most of the high-level concepts of the language are very similar to what I already know. My first real programming class (html doesn’t count) was back in the fall semester of 2002 at community college in California, an Introduction to C++ class. At the time I loved that class, I was using Red Hat 7 and writing everything in EMACS and compiling via the command line with gcc. It was great and I had serious aspirations about being a computer science major. Alas, the advanced mathematics requirements and me didn’t mesh well so that was the end of my computer science experience in college. After college I was heavily involved with a friend’s nightlife web site called Partybody and over the course of 6 months to a year taught myself PHP. Over the past few years since then I have become fairly knowledgeable in PHP and have started branching out into other languages like Python and Ruby. The reason I mention all this is because in my experiences with Objective-C so far, the fundamentals seem to be pretty similar (variables, loops, function, etc.), albeit the syntax is a bit different, which is where the real learning curve comes into play.
Despite using a completely new language, I’m utterly thrilled at the amount of progress I’ve been able to make so far in the little time I’ve had to devote to iPhone programming. Apple’s IDE Xcode is shaping up to be the best programming tool I’ve ever used — which says a lot because I absolutely love Coda. Fact is the CodeSense built into Xcode is phenomenal!
Additionally, I must say thank you to Stephan Kochan, author of Objective-C 2.0, and Dave Mark & Jeff LaMarche, authors of Beginning iPhone Development, their two books are very easy to follow and unlike most programming books I read, they’re actually teaching me something!
As I said before I read about 100 pages in the Objective-C book before switching over to the Beginning iPhone Development book, of which I am currently on Chapter 8. But already I have been using Xcode and Interface Builder extensively, and Apple’s iPhone Simulator software is truly remarkable.
After only a few hours of programming I’m starting to churn out real-world type applications that I feel I can later reuse the code base into developing my own apps to submit to the app store. I haven’t had this much fun developing in ages!
Now if only I just had some more free time to code….I can’t wait to see the results.