Friday, April 9, 2010

Apple now restricts what language you can write your apps on

This is insane and Steve Jobs has just gone mad. The furor is over a change in developer agreement that states the following:


“3.3.1 … Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).”



As a developer/programmer for nearly 2 decades, what is beyond me is why anyone would want to put a restriction like that when it does not make much sense. I sort of understood (but disagreed) when Apple prohibited interpretted code in iPhone OS. But not the current restriction. No matter what language or tools you use, as long as it runs native instructions and does not use banned/private APIs, it should be fine. But that is not the case. Apple is explicitly prohibiting tools that developers can use to improve productivity, efficiency & help ship their tools across multiple platforms.

Does Apple expect that app developers be wedded to iPhone OS and be at the mercy of Steve'O? What next? Perhaps Apple could next put a restriction that requires that the App can only be published to iPhone app store and not other platforms?

Web is full of commentaries on this issue. For some more perspective on this issue, below links should help
New iPhone Developer Agreement Bans the Use of Adobe’s Flash-to-iPhone Compiler
Apple Dev Program takes stand on nature of consciousness
What Apple Just Did
Steve Jobs just ruined the iPhone for Clojure
Steve Jobs Has Just Gone Mad


For a bit of legal perspective on the issue, see Is the iPhone a banana?

UPDATE: Steve Jobs’ response on Section 3.3.1

No comments:

Post a Comment