Read this rant by Lee Brimelow (Adobe), on why he is angry that Apple has restricted the programming languages that are available of the new iPhone SDK. Now as much as I dislike Adobe’s PDF reader and flash player for being so slow and memory inefficient on Linux, I am inclined to agree with him.

IMHO so long as a compiler (or interpreter, or virtual machine) can be written for the language on a platform, there is no reason at all to disallow programs written in that language to run. Worse still, having the other languages available on the earlier versions of the platform, and then taking them away is about as anti-developer as it gets.

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).

Now Apple has previously taken a lot of flak for its black-box-esque iPhone app store, with its sometimes arbitrary app rejection policies; however they could still claim “quality control” and be somewhat believable. With this new move however, there is no denying that they are just being plain developer unfriendly – Lee puts it best: “has no rational defense other than wanting tyrannical control over developers.”

I have no personal interest in this, as I do not develop for the iPhone; and after this, I do not think it is something I see myself getting into in the future either.


Update

Larry O’brien and joeberkovitz have must-read opinions on the matter. Larry notes that, reading between the lines, this effectively means that code generation is disallowed. Joeberkovitz points out the interesting implications of the phrase “originally written” (in a particular programming language), and how it is fundamentally flawed.

Advertisements