2005 г.
Mac на процессоре Intel: по следам сенсации
Владимир Новиков aka VN_MAClover
Итак, keynote Стива Джобса завершён, можно сделать некоторые выводы. Джобс вышел на сцену в брюках, вместо обычных джинсов, что прямо указывало на то, что "базар пойдёт серьёзный". И действительно...
CEO Apple открыто раскритиковал IBM за
- неспособность производить в нужном количестве процессоры G5, особенно их двухъядерные версии, давно объявленные, но до сих пор недоступные;
- отсутствие прогресса в плане тактовой частоты, которая за два года выросла (всего-то:-)) с 2.0 до 2.7 GHz);
- нежелание произвести версию для ноутбуков.
После чего объявил о том, что, начиная с 2006 года, вся линейка компьютеров Apple постепенно перейдёт на процессоры от Intel.
Он показал Mac OS X 10.4 Tiger, работающую на Pentium 4, и заявил, что Xcode 2.1 позволит компилировать как для G3/G4/G5, так и для x86. А Mac OS X 10.5 (Leopard) будет представлен для обеих архитектур сразу. Кроме того, был представлен новый эмулятор Rosetta, который будет работать под х86 и на ходу перекомпилировать код PowerPC на почти 100% скорости. Поскольку эмулятор делает сам Apple, можно быть уверенным в том, что так и будет. Стив Джобс показал Adobe PhotoShop CS и MS Office, которые работали так же быстро, что и на среднестатистических сегодняшних Маках.
Разработчикам уже сегодня доступен компьютер G5 с процессором Intel.
А теперь выводы. Сразу предупреждаю, что всё это - только моё личное мнение. Но я считаю для себя возможным сделать такой анализ, исходя из двух истин. Истина первая, историческая: Apple НИКОГДА не говорила о будущем. Значит, появилась необходимость... Истина вторая, экономическая: два года без новых моделей не прожить ни одной компьютерной фирме. Это означает, что за пазухой спрятан большой кирпич...
Итак:
- Ничего нового сказано не было, и так всем было известно, что Mac OS X давно и прекрасно работает на х86. Не будем забывать, что корнями он восходит к Next, а FreeBSD, на базе которого построен Darwin, вообще изначально только под х86 архитектуру и существовал. Да и сам Darwin всегда был доступен в версии для х86, а уж перекомпилировать интерфейс...
- Разработчикам дали понять, что Classic настал конец. Сразу поясняю, что Classic - это что-то типа поддержки приложений Windows 3.11 в Windows 95. Но и это не новость. Вот уже 2 года как OpenFirmware (маковская разновидность BIOS) всех Маков не поддерживает запуск Mac OS 9.2.2. Для работы со старыми приложениями надо либо покупать б/у Маки, либо работать в Classic, т.е. в эмуляции. Да, есть Rosetta, но это будет эмулятор на эмулятор...
- Тем же разработчикам более чем прозрачно намекнули, что не надо использовать чужие компиляторы (Metrowerks встал и раскланялся), а осваивать Xcode. Но вот беда, Xcode заточен под Cocoa софт, а с Carbon приложениями работает хуже. Carbon приложения - это старые приложения от "девятки", которые сделали совместимыми с Mac OS X, но не до конца, а просто почистив код. То есть это лучше Classic, но хуже Cocoa, родных приложений для Mac OS X. Большой камень в огород Microsoft и Adobe, руководство которых поспешило выйти на сцену и громко заявить, что всё перепишет в лучшем виде...
- Все уже поняли, что надо писать только и исключительно Cocoa приложения. Замечу в скобках, что Cocoa приложения давно уже совместимы с Linux, так как есть такая вещь как GNUStep. В качестве примера приведу очень хороший и незаслуженно неизвестный почтовик GNUmail. Новая версия Xcode позволит компилировать либо отдельные версии для двух поддерживаемых архитектур, либо fat binary, так хорошо знакомую мне по эпохе перехода с архитектуры 68xxx на Power.
- Ничего про новые машины сказано не было...
А теперь смотрим. Apple форсирует тотальный перевод всех приложений на Cocoa, а также их чистку на предмет отсутствия всяких хаков, которые могут помешать при компиляции под х86. Adobe и Microsoft начинают, утерев слёзы, переписывать свои монстроидальные софтины, к великой радости окружающих. А дальше...
Apple в состоянии выпустить машины с ЛЮБЫМ из mainstream камней, IBM, Intel, AMD... Операционка позволяет, Cocoa софт надо лишь перекомпилировать. Если подтянется IBM, то и чудненько, если нет - Intel inside в новых ноутах.
Одним словом, не могу не снять шляпу перед очередным гениальным ходом Джобса. Как MacUser со стажем, я должен был бы рвать и метать, что меня кинули... а я радуюсь. У нас опять есть выбор, платформа будет жить.
И последнее. Джобс ясно сказал, что железо будет делать Apple. То есть фантазировать по поводу работы Mac OS X на самосборных Пентюхах явно не нужно. Наверняка появятся хаки, но это будет уже не то...
Под конец и по горячим следам, несколько постоянно встречающихся вопросов и мои попытки дать на них ответы (опять таки, отражающие лишь мое личное мнение):
В1: Они, падлы, нас подло кинули, я только что себе купил iMac, iBook, Power что-то там...
О1: Ну а я приятелю посоветовал Р4 за неделю до выхода ADM dual core камней. И что? Когда серия Х доходит до магазинов, пресса вовсю тестирует серию Х+1, а на заводах уже перестраивают линии на серию Х+2. Кроме того, человеческим языком сказали, что в течение многих лет будут выходить машины на базе PowerPC, если IBM наладит выпуск камней, а также будет возможность компилировать под них. ОК, Маки служат в среднем дольше IBM-PC. Возьмём сегодняшний Мак, поставляемый с Тигром. Леопард будет в начале 2007 года, в нём поддержка PowerPC сохранится полностью, так как на тот момент переход не будет завершён, да и установленная база будет против... В 2009 году будет версия 10.6 (что ещё из кошек осталось? Прим. ред.: если по нарастающей крутизне, боюсь, что только ископаемые махайроды и смилодоны - А.Ф.), там явно тоже всё будет в порядке. Даже если представить себе, что в 2011 поддержку прекратят, скажем прямо, этот Мак доживёт своё спокойно...
В2: А вот Sony и MS бегут на поклон к IBM и будут использовать в новых игровых приставках камень Cell. А Apple что, самый умный, что ль?
О2: Процессор Cell пока существует только в виде прототипа, равно как и процессор G5 с частотой 3.5 GHz, его версия для ноутов, ну и так далее. Ничто не помешает Apple использовать этот камень, если вдруг он будет хорош до безобразия, а у Intel возникнут проблемы. Сегодня Джобс дал понять всем, что незаменимых нет, только и всего.
В3: А AMD всё равно круче!
О3: Ничто не мешает Apple производить машины на базе камней AMD. Ещё раз, сегодня было сделано заявление о том, что "мы можем всё", а машины будут через год. За это время много воды утечёт...
В4: Тогда уж пусть просто делают софт, который будет ставиться на любые машины.
О4: Спасибо, уж лучше Вы к нам... Apple делает рабочие станции, у которых не бывает проблем с драйверами, если использовать сертифицированное оборудование. Уже сейчас разработчикам продают Power Mac G5 с камнем от Intel, а не Dell какой-нибудь. Ясно, что в машинах будет много своих технологий. Ничто не помешает умельцам поставить Mac OS X на самосборную машину, но официально это не будет разрешено, во всяком случае на первых порах.
В5: Всё равно обидно, ведь они были не такие, как все...
О2: А они были, есть и будут не такие, как все. Психология осталась прежней: делать машины, которые работают. При этом пользователь может даже не знать, как они устроены. Но Apple вынужден быть прагматиком и отказываться от проприетарных технологий. Шина NUBUS, порт ADB, винты SCSI, наконец, экраны с подключением через ADC (Apple Display Connector). Просто никто не хотел производить совместимую периферию...
В6: Конец, теперь будут вирусы, трояны, пиратские диски и Маки по 300 баксов на Савёловском.
О6: Пиратские диски и так есть, Маков за 300 у.е. пока не будет (см. выше), а вирусы и трояны пишутся под ОСь, а не под камень. А Mac OS X - это UNIX-подобная система, и трояна туда засадить трудно. Несколько попыток написать гадость были, но без соучастия пользователя (пусть и невольного) не обойтись...
В7: А тогда зачем это всё?
О7: Истинные мотивы знает только Джобс, будущее покажет. Однако, ИМХО, дело в софте. Аналогичная ситуация сложилась в момент перехода с архитектуры 68ххх на PowerPC. Старый софт работал через эмулятор, и разработчики не спешили с его портированием. Так и теперь. До сих пор есть софт, который существует только под "девятку" (некоторые функции Cleaner), масса Carbon софта (вся линейка Adobe, Microsoft, суперпопулярный Graphic Converter...), а на Cocoa пишет сам Apple и разработчики свободного ПО. Разумеется, масса компаний предпочла полностью переписать софт в Cocoa (Nisus Writer), но тяжёлая артиллерия пока выжидала. А это значит, что софт не может быть по определению оптимизирован под новые камни и 64-разрядную архитектуру, к примеру. Или над этим надо специально работать...
В8: А я не знаю Objective-C...
О8: Не будучи разработчиком, мне трудно сказать, насколько легко разрабатывать Cocoa приложения на С/С++. Однако знаю, что это возможно. Но ведь есть ещё Java, котоая прекрасно интергирована в систему и позволяет общаться с Cocoa. Проект Neooffice/J прекрасно работает. А ещё есть Qt/Mac для любителей С++. Крупных проектов пока нет, однако MyPasswordSafe, к примеру, прекрасно работает. Наконец, есть порт GTK+, правда, пока он далёк от завершения. Но Abiword уже пашет. Одним словом, разработка приложений для Мака - уже не проблема. Более того, GTK+ и QT кроссплатформенны по определению, про Java и говорить нечего, а Cocoa приложения совместимы с Linux благодаря проекту GNUStep.
В9: А я всё-таки не буду переписывать мою гениальную Carbon программу.
О9: Тоже не проблема, XCode 2.1 работает с Carbon софтом и позволит делать версию для х86, однако Appele предупреждает, что ручками придётся работать значительно больше... может на Cocoa перейти сейчас, чтобы потом не было мучительно больно и обидно...?