Is Objective-C Really a Bad Thing For Apple?

Whenever flash on iPhone is debated, one of the thing that’s mentioned is that Objective-C is really terrible and Flash (or Action Script) is a much easier language to learn and to use. Of course, Action Script is loosely based on Javascript, a scripting language and Objective-C is a layer on top of C, so that does confer Action Script an advantage when it comes to ease of use.

What people seem to be forgetting however is that there’s more to life than ease of use. By using Objective-C and the Cocoa Touch APIs, Apple has a set of technology that’s not that hard to use (really, try to learn it, you’ll see) but also, a set of technology that while open, is also pretty much only used by them. I’ve said this before in my last post, but forcing people to learn Apple technologies is not a bad thing. It’s certainly a bad thing for flash developers looking to make quick bucks by quickly porting existing code, but for the rest of us, it means the developer has to spend some time on the Mac, learning how it works, what the UI paradigms are and why things work the way things work. Ultimately, this leads to a developer that might spend more time thinking about the UI issues and how to really optimize the interface for an iOS device.

Objective-C has been pretty successful for Apple on the desktop for years. When Apple “forced” developers to ditch Carbon APIs (C APIs) for Cocoa APIs a few years ago to benefit from the latest advances in the OS, many balked and predictions of doom were also thrown by many. As far as I can tell, my Mac seems to have survived and so did all of the apps I’ve used. Certainly it means that companies like Adobe and Microsoft had and have a lot more work ahead of them rewriting large portions of legacy code. You know what though? At the end of the day, we get stuff like Outlook for Mac, a newly written app that takes full advantage of Mac OS X instead of Entourage.

During WWDC, Apple announced that Farmville was coming to iOS. It’ll be interesting to see if that version will take advantage of iOS 4’s Game Center feature when it launches. By being a native app, it certainly has the potential.

Meanwhile, iOS 4 is coming out today for all users. Grab it, it’s a great update.