Thursday, June 23, 2011

TC becomes an iPhone Developer

Today was my first class learning how to code iPhone apps. I have a feeling this will become pretty entertaining, so I plan to blog it here. I welcome any comments.

So, as usual, I went in there thinking I'd be the biggest idiot in the class. But as we went through course intros, it seems I have at least average if not more development experience than the others. No one really had much development experience.

Despite our general lack of knowledge, our course instructor seemed pretty confident that we would learn to write apps and even make money off of them. In fact, he said this course, in his opinion, was definitely a good investment in time and money. I sincerely hope he's right.

There seemed to be two types of people taking the course. Those that had an app they wanted to write (me and 2 others), those that wanted to make a career change (everyone else).

We really didn't do a lot today except for find the Developer site on Apple and go through the usual basics.

I hope next time is more interesting because i'm looking forward to getting going!!


Capt. BS said...

I think there are actually only two "advantageous" backgrounds to have when learning to write iPhone apps:

1.) Hard-core / old-school. You're a veteran C (or possibly C++) programmer who's no stranger to allocating/freeing your own memory, whose brain natively understands an application as a series of procedures/processes, and who scoffs at higher-level languages that let you concatenate string variables using a mere + operator.

2.) Inexperienced. You have little or no prior programming experience. Maybe you took an intro CS course freshman year of college, or a summer class at the local community college, because you were curious / bored. Apart from whatever vague, residual knowledge you've retained, your brain is tabula rasa, free of any experiential bias.

I say this because I downloaded the iPhone SDK a couple of years ago and was completely baffled, in spite of the fact that I've been writing code (mostly of the soft-core variety) in some form or another for the past 20+ years. At an intial glance, Apple's "Objective-C" framework seems like an arcane collection of ANSI C function calls from the late 1980s, and bears little resemblance to a more modern application framework (e.g. Java Swing, .NET Windows Forms) that takes care of most mundane tasks (e.g., creating and displaying the main window) for you so that you can focus on the application itself.

Maybe I didn't play around with it long enough, but in this day and age, there's absolutely no reason for a "Hello World" app to require hundreds of lines of code scattered across 20 or so different files. Then again, given that there are 400,000 iPhone apps, it can't be that cumbersome... can it?

PD said...

Objective C is pretty klugey, from what I can tell, but it seems that Objective C 2.0 improved some things but it's still pretty limited. Now, what's available on Cocoa Touch is even more limited, since on an iPhone you can't for example, keep a window open in the background for an app. I think it's pretty foolproof.

Mind you, my opinion comes from someone who had to learn C++ in college in order to take a mathematical algorithm and graphically display it on a screen. At the time the programming seemed so hard, now I look at my pathetically easy for loops and laugh.