wizzard: (Default)
wizzard ([personal profile] wizzard) wrote2010-04-10 12:49 am

think different. you may think in C, C++, Objective-C or JavaScript.

по-моему, это переходит все допустимые рамки уже.

для тех, кто не читает английский: разработчикам для iPhone и iPad
а) запретили использовать языки, отличающиеся от вышеуказанных
б) запретили использовать сторонние фреймворки и кросс-компиляторы
в) (еще раньше) запретили использовать интерпретаторы (java, mono-jit, python, …)

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

Что-то это напоминает мне то, как одна не менее известная компания, на букву M, смогла создать себе репутацию Big Evil Shit, выбраться из которой ей удалось аж через 10 лет, и то местами.

Ну, не говоря уже о провтыканном уже один раз в свое время Apple`ом из-за закрытости рынке десктопов, и о том, что в общем-то аналогичные прихоти “эффективных менеджеров” могут прийти и на iMac`и.

Ну и напоследок. Помните. iPad - это не компьютер. Это однозадачный мобильный терминал приёма платежей в онлайновые магазины корпорации Apple.

Можно обсуждать прямо тут, можно тут и тут, ну и у Грэма еще немного мыслей есть.

[identity profile] the-aaa13.livejournal.com 2010-04-09 10:08 pm (UTC)(link)
Если я правильно понял анонс айфонОС 4.0, уже не однозадачный. Ну и в целом, представленность разных идеологий идет только в плюс. Яблочная фильтрация, она не только тоталитарный ужас, но и определенные сдвиги в сторону качественного софта.

[identity profile] the-aaa13.livejournal.com 2010-04-10 01:19 am (UTC)(link)
>>Простите, а как именно ограничение набора языков программирования влияет на качество софта?
Механизм не установлен. Но как-то влияет

>>гхм, гхм. (не хочется показывать пальцем в сторону Maemo, у которого от рождения с многозадачностью и энергопотреблением все в порядке)
Медленно спустимся с горы.

>>Да, я согласен. У MS появился прекрасный шанс лишний раз пропиарить WP7 :)
Кто спорит? Больше гаджетов, хороших и разных!

[identity profile] hydrargentum.livejournal.com 2010-04-09 10:26 pm (UTC)(link)
а как они будут трэкать кросскомпиляцию интересно ?

[identity profile] vadun.livejournal.com 2010-04-09 10:30 pm (UTC)(link)
Все эти кросскомпиляторы работают вместе со своей какой-то runtime библиотекой. Её затрекать легко.

[identity profile] vadun.livejournal.com 2010-04-09 10:28 pm (UTC)(link)
Apple, сука, двуличные.
Со стороны юзеров они прям все пушистые.
А со стороны разработчиков - тотальный пздц.
Оно и понятно, деньги платят юзеры. А будут юзеры, будут и разработчики. Но такое наплевательское отношение угнетает.
PS: хорошо хоть С\С++ оставили (и доступ к некоторым POSIX APIs), портировать с линукса\винды относительно просто.

[identity profile] antonix.livejournal.com 2010-04-09 11:05 pm (UTC)(link)
Стоп, какие портировать, ты не внимательно читал "must be originally written in Objective-C" и никаких кроскомпилеров. Стив Джобс, лично, сказал: "у кого увижу генерёный код на си - буду бить линейкой по рукам. А за не прямой link against the Documented APIs буду башку отрывать. Всё, блин елки палки!" Прям так и сказал.

[identity profile] vadun.livejournal.com 2010-04-09 11:10 pm (UTC)(link)
"be originally written in Objective-C, C, C++".
Портирование - не кодогенерация, а ручной процесс. POSIX APIs (по крайней мере сокеты и потоки) у них вполне себе документированы в iPhone Dev Center.

[identity profile] antonix.livejournal.com 2010-04-09 11:34 pm (UTC)(link)
Хм... Ручной процесс... это как раз и смущает. А ты не чувствуешь подвох, в том, что тут POSIX APIs и там POSIX APIs но почему то просто пререкомпилить не получается, странно как-то да?

Кстати а красивые рюшечки чем рисовать? Здается мне что в POSIX стандарте про графический интерфейс ни слова.

Я всегда думал что процесс портирования заключается в том чтоб подсунуть вместо нативного апи переходник который с предоставляет апи идентичное исходному нативному, но сам при этом перезванивает в апи целевой платформы. Если несовместимые языки – здравствуй кроскомпиллер, если апи переходника «недостаточно идентичное» здравствуй молоток и напильник. И все это теперь запрещено. Кроме молотка и напильника конечно же. Спрашивается оно того стоит?

[identity profile] vadun.livejournal.com 2010-04-10 12:09 am (UTC)(link)
Портирование всякое бывает.
Если изначально иметь в виду, что нужно поддерживать много платформ, то можно всё логику написать на платформенно независимом подмножестве C++ и APIs, а затем на каждой платформе прикрутить к логике нативный UI. В этом плане на iPhone/Mac все гладко проходит т.к. Objective-C++ одинаково хорошо дружит и с обычным C++ кодом, и с эпеловскими гуишными фреймворками.

[identity profile] antonix.livejournal.com 2010-04-10 12:15 am (UTC)(link)
Ты прав.

Но это из серии - а вы нам козни строите, а мы знаем как выкрутится, ха-ха-ха, и нас не парит. То есть да, выкрутится то можно, по крайней мере в этот раз, но интересен сам эпловый подход - подсерать разработчиков которые наполняют их AppStore.

[identity profile] mr-aleph.livejournal.com 2010-04-10 08:31 am (UTC)(link)
>> у кого увижу генерёный код на си

Вас послушать, так он прямо телепат какой-то! Может сгенерированный код от написанного руками отличить...

[identity profile] aka-rider.livejournal.com 2010-04-11 12:52 pm (UTC)(link)
Конечно может, но только компилированный с -О2, с -O3 есть неоднозначности.

[identity profile] cd-riper.livejournal.com 2010-04-10 05:53 am (UTC)(link)
> Со стороны юзеров они прям все пушистые.

на словах что ли?
спустя три года после выхода айфона они разрешили простым смертным менять обои и делать папки... :)

[identity profile] vadun.livejournal.com 2010-04-10 05:56 am (UTC)(link)
Народ хавает :) Я имею ввиду рекламную компанию и позиционирование себя в духе "Think different, покупай Mac, а остальные лохи". Тешат самолюбие макодрочеров.

[identity profile] cd-riper.livejournal.com 2010-04-10 06:03 am (UTC)(link)
лапша, такая, лапша.

юзерам рассказывают, что они в 4.0 версии добавили 1500 (!) API.

очень похоже, что за единицу API они считали даже значение enum... :)

[identity profile] antonix.livejournal.com 2010-04-09 10:59 pm (UTC)(link)
Я далек от айфонов эпла и Objective-C. Поэтому скажите мне пожалуйста, правильно ли я понимаю ситуацию. И если не правильно то будьте добры поправьте.

1. На рынке появилось новое устройство.
2. Средства разработки под это устройство настолько кривые, что опытному программисту, нужно от одного до трех месяцев чтоб научится этими средствами нормально пользоваться.
3. Но это устройство - короткий путь к бестолковым пользователям, у которых много денег, и они готовы их тратить на всякую фигню.
4. Толпа программистов учуяв халяву, в виде пользователей с деньгами, аж загорелись писать всякую фигню чтоб получать за неё много денег. И на волне эйфории, потратили свое время, и таки выучили Objective-C, Cocoa, X-Code я не знаю что там ещё, но в общем научились они. Вложив в эту учебу кто месяц, а кто пол года.
5. Эпл – занял позу посредника между программистами и пользователями. Рубит бабло на посредничестве, и закручивает гайки. Чтоб ни программисты ни пользователи никуда от них не делись. То есть если ты начал писать под айфон то ты должен писать только под него, и в другую сторону даже не смотреть. Если купил айфон, то к нему ты купишь ещё и айпад, и айбук, и ещё эту, несовместимую с нормальным компьютером хрень с экранчиком чтоб mp3 слушать, IХрень короче.
6. А теперь программисты сложив дважды два и почувствовав себя лохами, начинают бузеть и проявлять недовольство. Потому что эплы закручивают гайки все туже, а соскочить с эплов напряжно, потому что за время программирования под айфон они изрядно подзабыли все остальное, и теперь чтоб вылезть из этого говнеца, им сново нужно переучиваться, а это время, а время это деньги. Но прямо они признаться в этом не хотят, что «да, повелись на халяву, и попали в жопу, поэтому мы не довольны». А чтоб хоть как-то излить свое недовольство, они начинают лить говно на Эпл, на айфон, на бестолковых юзеров, на все что угодно. И в то же время продолжают разрабатывать софт под Айфон, тем самым таща его себе, а эпл им при этом ещё и палки в колеса вставляет.

Если я все правильно понял, спрашивается – какого хрена господа программисты не напрягутся, не слезут с этого айфона на что-то более либеральное, и не забудут про этот Эпл как про страшный сон. Да чтоб слезть нужно снова потратить свое время, но это плата за вашу же жадность из-за которой вы на этот айфон залезли. Но нет же, они матерятся, и продолжают писать под этот «грёбаный айфон». Что так сильно жаба давит? Мол «вот я уйду, а оставшимся, достанется больше дурных юзеров с деньгами».

[identity profile] antonix.livejournal.com 2010-04-10 12:03 am (UTC)(link)
Мне их тоже не жалко, кстати они, я уверен, договорятся с эплом. Отстегнут ему всю свою прибыль, так и договорятся. Спрашивается а чем они думали когда туда лезли?

Это те же яйца только в профиль
1. Подсадить разработчиков на платформу ничего им при этом формально не пообещав, но намекнув, что вам у нас будет очень хорошо.
2. Когда они основательно подсядут - можно ставить их раком как угодно. Приговаривая - а мы вам ничего не обещали.
3. И они согласятся практически на любых условиях.

[identity profile] thedeemon.livejournal.com 2010-04-10 12:22 am (UTC)(link)
Apple такой Apple.
Знаешь, как в open source операционке MacOS X поставить open source компилятор gcc? Скачать с apple.com гигабайтный бинарный дистрибутив XCode, в котором свой фирменный эппловский gcc, другого способа не видно. А знаешь, как им собрать программу статически? Никак, они эту фичу выпилили из gcc тулсета.

[identity profile] xplozive.livejournal.com 2010-04-10 04:29 am (UTC)(link)
Мне, похоже, одному нравится политика Apple. Нехуй плодить кривые и тормозные кросс-компиленые/интерпретированные приложения, если можно это запретить, то почему бы и не запретить? Я бы запретил.

iPad отличная штука, ну а то, что за удовольствие (фильмы, софт, музыку) надо платить — это уже давно не новость. Мне, как разработчику это очень по душе (да и не мне одному, судя по зашкаливающему количеству софта в AppStore).

[identity profile] cd-riper.livejournal.com 2010-04-10 05:55 am (UTC)(link)
> Нехуй плодить кривые и тормозные кросс-компиленые/интерпретированные приложения, если можно это запретить, то почему бы и не запретить?

готов в удаленном режиме поставить тебе диагноз -- у тебя мозг в форме яблока. огорчу, это не лечиться.

[identity profile] cd-riper.livejournal.com 2010-04-10 06:05 am (UTC)(link)
а в придачу, ты просто сопливое малолетнее хамло... :)

[identity profile] xplozive.livejournal.com 2010-04-10 06:14 am (UTC)(link)
нах пошел, батхертнутый

[identity profile] cd-riper.livejournal.com 2010-04-10 06:18 am (UTC)(link)
очень надеюсь, что жизнь будет к тебе справедлива, и, рано или поздно, тебя кто-то отучит крыть матом незнакомых людей сети.

просто в воспитательных целях сделает из твоего мозга яблочное пюре.

[identity profile] xplozive.livejournal.com 2010-04-10 06:24 am (UTC)(link)
во мазохист... повторяю: пошел нахуй

я не устану повторять, поверь :)

[identity profile] cd-riper.livejournal.com 2010-04-10 06:29 am (UTC)(link)
тебе нравиться выставлять себя идиотом на людях?

чтобы нести чепуху и материться много мозгов не нужно.
ты бы лучше слез с велосипеда да пошел бы хотя бы одну книжечку прочитал, перед тем как свой рот открывать.

[identity profile] xplozive.livejournal.com 2010-04-10 06:37 am (UTC)(link)
Идиот здесь только ты (что убедительно продемонстрировал своим весьма конструктивным вяканьем парой постов выше).

Причём непонятливый весьма (судя по последующим постам).

Понимаешь, у меня нет с тобой никакого желания общаться (потому что ты писаный мудак), а вот в хуй тебя послать — милое дело, что я с удовольствием сделаю ещё раз. Иди в хуй.

[identity profile] cd-riper.livejournal.com 2010-04-10 06:54 am (UTC)(link)
конструктивно общаться с такими вот гражданами

бесполезно.

сразу надо в кащенко везти.

[identity profile] xplozive.livejournal.com 2010-04-10 09:25 am (UTC)(link)
Ну так и иди нахуй! :)

[identity profile] ens-a-se.livejournal.com 2010-04-10 03:27 pm (UTC)(link)
Раз уж вы, как я вижу, сторонник политики Apple. Скажите, почему они выбрали язык Objective-C в качестве основного языка разработки в свое время? Давно интересно.

[identity profile] xplozive.livejournal.com 2010-04-10 10:09 pm (UTC)(link)
Красивый и удобный. Среда разработки (XCode), документация — все очень ровно сделано. После этого понимаешь, что всё, с чем ты работал раньше (C/C++/C#/Java/etc) не годится на этой платформе, просто потому что уже есть XCode.

[identity profile] xplozive.livejournal.com 2010-04-10 10:10 pm (UTC)(link)
Если вам интересно, почему они выбрали его тогда, давным-давно, на заре времён — это лучше у историков спрашивать, слишком давно это было :) Тогда все другие языки тоже в пелёнках ползали, и не думаю, что тогда был какой-то однозначно «лучший» выбор.

[identity profile] cd-riper.livejournal.com 2010-04-10 05:56 am (UTC)(link)
пока андроид или еще кто не возьмет их за яйца на рынке штатов, они так и будут вести свою политику гестаповцев.

[identity profile] dmitriid.livejournal.com 2010-04-10 09:22 am (UTC)(link)
андроид не возьмет. у семи нянек дитя без глаза, как известно. а вот МС с таким же жестким контролем за всем и вся вполне способны. Правда, этого еще ждать и ждать

[identity profile] metaclass.livejournal.com 2010-04-10 07:53 am (UTC)(link)
Я примерно могу представить одну из причин, по которой они это делают. Чтобы не плодить зоопарк языков, платформ и неодинаково ведущего себя софта и чтобы при очередном обновлении "какой-там-у-них-внутри-ОС" этот софт не ломался. Потому что в основном рассчитано на каких-то пользователей, которым совершенно не интересно заниматься гугленьем на тему "эппл обновил ипад, сломалась моя любимая коллекция фотографий червей".

[identity profile] grey-kristy.livejournal.com 2010-04-10 08:12 am (UTC)(link)
Интересно, а каким образом они определяют, что это именно на Objective C написано? В AppStore исходники надо сдавать что ли?

[identity profile] aka-rider.livejournal.com 2010-04-11 01:05 pm (UTC)(link)
Компиляторы, окромя яблочных, запрещены. А те сигнатуру лепить будут, как мне кажется.

[identity profile] grey-kristy.livejournal.com 2010-04-12 10:08 am (UTC)(link)
ну тогда только кодогенераторы

[identity profile] ens-a-se.livejournal.com 2010-04-10 03:23 pm (UTC)(link)
и до этого Apple не баловало разработчиков, прямо скажем. И компиляторы не очень под mac и IDE как-то так себе. Теперь, из-за их рассовой ненависти к Майрасофт и Адобе, вообще капец пришел. Народ(девелоперы) уже жаловался с пятницы.
Я в общем-то как не понимал любви многих своих коллег к продукции Apple так и не понимаю. Красивые стильные девайсы - да, но не более того. Но, например, в бизнесе Mac не используются почти, соотвественно мало приложений для серьездной разработки, мало b2b приложений. Покупать mac и ставить linux - ну круто конечно, но стоит ли того?

[identity profile] http://users.livejournal.com/_winnie/ 2010-04-10 07:13 pm (UTC)(link)

Интересно, в чем истинная причина. Может быть, запрет на кросс-компиляцию флеша, конкретной тулзой от adobe. Думаю, хотят запретить не метод (для которого нет формального определения, что такое ручной код, а что такое сгенерированный), а конкретные тулзы от конкурентов (gcc, флеш от adobe).