Из обновленного iPhone Developer Program License Agreement:

evil_apple.jpg

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. 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).

Досмотр приложений в App Store и отказ публиковать программы по любой дурацкой причине было только началом. Теперь Apple диктует разработчикам, какой язык использовать для написания приложений. Причем, программы должны быть изначально написаны на ObjC/C/C++/JS. Это тотальный идиотизм.

Paul Graham хорошо сказал:

1. «This is in direct opposition to one of the most important principles of software development»

2. «This move by Apple is equivalent to IBM saying in 1970 that programmers couldn’t use high level languages– that they had to write programs only in IBM 360 machine language. The loss would not have been only in portability.»

Apple нельзя верить. Завтра у них зачешется в одном месте и они запретят еще чего-нибудь.

Пока для программ на Mac (платформа, на которую я так радостно перешел с Windows) никаких ограничений нет. Но это только пока. С Mac OS X 10.5 приложения можно подписывать сертификатом (как в Windows). Конечно, это служит многим полезным security целям, но появляется еще одна возможность — выборочный запрет исполнения программ. Что если через несколько лет Mac OS X вообще не будет исполнять неподписанные приложения, как iPhone OS?

Остается единственная свободная платформа, защищенная от мудаков: Web.