Reached by email, Joe told us he’s “unhappy” about a new rule forcing developers to use one programming language, Objective-C, to write iPhone apps.
“So much for programming language innovation on the iPhone platform,” Joe tweeted earlier today.
He sent us this passage from the SDK:
We asked Joe this makes him “angry” (as he wrote in a now deleted tweet), and he explained:
Apple has always banned “virtual machine” languages, presumably for performance reasons, which was understandable. However, there are an increasing number of cross-compilers that allow translating from one language to Objective-C, which allows performance to still be very good while allowing developers to use a language they prefer to Objective-C. Apple is now banning those as well, which means developers who don’t enjoy working in Objective-C have no choice if they want to write a native iPhone app.
Back on Twitter, Joe went on, “I’m upset because frankly I think Objective-C is mediocre and was excited about using other languages to make iPhone development fun again.”
As Daring Fireball’s John Gruber notes, this also bans an iPhone app making tool that Adobe was hoping to sell as part of Flash, which will NOT make things any chummier between Adobe and Apple.
We’re tempted to wonder if this change will make its platform less popular with developers. But we won’t, because, for better or worse, when a platform can present so many attractive users the way Apple’s iPhone can, developers tend to get in line — no matter how much they don’t want to.