Metrowerks: конец сказки

В конце 90-х и в начале нулевых равных соперников у компании не было. CodeWarrior был и оставался лучшим. Монопольное положение всегда портит монополиста – но Metrowerks была исключением из этого правила… Лучшее было побеждено бесплатным.

В 1998, в ответ на просьбу читателя порекомендовать инструментарий разработчика для написания Mac’овских программ, назвал три: “CodeWarrior, CodeWarrior и CodeWarrior”.

Если бы я не был “лично” знаком с рекомендуемым товарищем, я бы подумал то же что и вы: проплаченная статья, “джинса”. Но я был знаком, я даже побывал у первоисточника. И все Mac’овские разработчики, с которыми я общался, были согласны с рекомендацией.

В 1996 году Metrowerks начала активную экспансию на самые разные платформы. Среду разработки портировали в Windows и на какие-то Unix’ы (о последних, кроме того что они были, больше ничего неизвестно, наверное не подошли).

Главным направлением экспансии стала генерация кода для огромного числа разных платформ, компьютерных и встраиваемых: BeOS, ARM, NEC v8xx и VRxxxx, MIPS (ISA I-IV) и для многих других. Во многих случаях CodeWarrior становился основным инструментарием разработчика для встраиваемых платформ и игровых приставок (при этом CodeWarrior устанавливался на Mac или на компьютер с Windows).

Перечисления всех платформ, для которых CodeWarrior могла генерировать код, хватило бы на целую статью. Их было очень много.

Версия инструментария для Windows (32-итной) поддерживала MFC, версия для Mac’ов, помимо собственной библиотеки классов PowerPlant (по стилю применения C++ похожа на библиотеки BeOS), поддерживала MacApp и App2PPC.

В августе 1999 Metrowerks была приобретена Motorola, за 95 миллионов долларов, и вошла в состав сектора полупроводниковых продуктов этой компании (Motorola SPS). Для меня и для моих коллег это было неожиданностью – Metrowerks была на самом пике успеха, но, как выяснилось через пару лет, это было единственным правильным решением…

Это третья, заключительная, часть мини-сериала про Metrowerks CodeWarrior. Предыдущие части:

Первая: Metrowerks: фантастический взлет маленькой компании;
Вторая: Metrowerks CodeWarrior лидирует.

Под властью Motorola

Отказ Metrowerks от суверенитета, как ни странно, ничего не изменил для клиентов этой компании. Как и прежде, два раза в год выходили новые версии CodeWarrior, с заметными и вкусными улучшениями. Служба технической поддержки, одна из самых слабых позиций компании в самом начале жесткого противостояния с Symantec, превзошла “учителя” и, по моему, была едва ли не лучшей в индустрии.

Я был одним из клиентов, и опробовал все это на своей шкуре. О том, что это теперь не просто “еще одна компания”, а подразделение огромной непотопляемой Motorola, ничто не напоминало (кроме приписок в письмах поддержки и в документации о принадлежности авторских прав).

Автономная республика Metrowerks приносила новым хозяевам неплохую прибыль, и никто не собирался что-то менять в её жизни.

Видимо, в знак уважения и особой симпатии, бывшие руководители независимой компании Metrowerks получили высшие должности в руководстве Motorola SPS. Впрочем, не берусь судить, кто их знает? В любом случае, это внутренняя информация Motorola, и она до сих пор не подлежит разглашению.

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

Главным (и единственным большим, по размеру) рынком Metrowerks были разработчики для Mac’ов. Попытка влезть на PC-шный рынок была не слишком удачной: там правила Microsoft. Тот еще конкурент. И, что немаловажно, в CodeWarrior для Windows не хватало чего-то очень важного и особенного, что отличало CodeWarrior для Mac’ов от всех его конкурентов. Вдохновения?

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

А на главном, и чуть ли не единственном серьезном по объему рынке, с отвратительной неторопливостью, как смертельная неизлечимая болезнь, назревало нечто роковое…

Metrowerks CodeWarrior против Mac OS X Project Builder

CodeWarrior выстояла бы в любой равной и честной борьбе, с любой другой частной компанией, вынужденной продавать конкурирующий продукт чтобы выжить. А то, из-за чего Metrowerks поспешила укрыться под крылом Motorola, должно было выйти в свет в третьем квартале 1999 года.

Это Mac OS X, с встроенной бесплатной средой разработки Project Builder.

Project Builder – прямой наследник ProjectBuilder из NeXTSTEP и OPENSTEP, почти без изменений перенесенный в Mac OS X. Самым видимым изменением было появление пробела в названии (шутка, но каждой шутке есть доля шутки…).

Джеф Раскин утверждал, что сравнивая сложные многоплановые системы на “лучше” или “хуже”, мы совершаем ту же ошибку, как если бы мы сравнивали точки на плоскости на “больше” или “меньше”. Точки могут быть больше или меньше по модулю, по одной из координат – но сами по себе… Редкий случай когда я полностью согласен с Джефом, но сейчас я буду противоречить этому правилу, за что прошу прощения – иначе получится слишком долго (а суть будет той же самой).

Project Builder для разработки Carbon-приложений был абсолютно и бесспорно хуже чем CodeWarrior, практически по всем параметрам. Кроме двух, но о них чуть ниже (я уверен что вы уже догадались, о каких преимуществах я говорю).

Среда разработки ProjectBuilder, из NeXTSTEP, никогда не сталкивалась с прямой жесткой конкуренцией в одной и той же операционной системе. А это очень важное испытание, без которого путь к совершенству, наверное, невозможен. CoreWarrior, еще до её рождения, была нацелена на захват рынка у очень сильного противника, а потом выстояла в жестком конкурентном противостоянии с таким противником.

Кроме того, и ProjectBuilder, и Project Builder (в Mac OS X) – всего лишь одна из частей чего-то большого и цельного, хоть и очень важная. Не единственная – это важно. Никто никогда не станет напрягать все силы компании на благо не самой важной её части.

А у Metrowerks компиляторы, интегрированная среда разработчика, отладчики, браузеры классов и ZoneRanger (утилита для поиска проблем в памяти) – все, что у них есть.

Простите, было.

Но все эти десятки слов, по сравнению с солидарным мнением практически всех, кто писал для Carbon – по сравнению с CodeWarrior, Project Builder не выдерживает никакой критики.

В Cocoa, при всех его недостатках, Project Builder была незаменима.

Но даже в Carbon у Project Builder были два преимущества, делающие её непобедимой:
она была бесплатной;
поддержанием её в актуальном состоянии, более-менее регулярно, занималась сама Apple, имеющая доступ к исходным кодам системы и к своим собственным планам.

Кроме всего прочего, в Project Builder вполне можно было писать Carbon-программы. Если бы не это обстоятельство, CodeWarrior имела бы шанс победить.

Конец сказки

В 2003 году Motorola “устала” от разработки и производства процессоров, и отпустила свое отделение Motorola SPS в свободное плаванье, превратив его в самостоятельную компанию по имени Freescale.

Число компаний и индивидуальных разработчиков пишущих для Carbon, уменьшалось с каждым днем – почти все новые программы для Mac OS X писались в Cocoa. Автономная республика Metrowerks стала убыточной. В новых версиях CodeWarrior была поддержка Cocoa, но она была откровенно слаба. Xcode делал это лучше.

В начале 2005, в качестве меры по финансовому оздоровлению Metrowerks, все наработки по Intel были проданы, дешево. В том же году, всего через три месяца, Apple объявила о переходе на Intel.

В конце 2005 Freescale объявила о ликвидации автономного подразделения Metrowerks. Персоналу Metrowerks было предложено остаться в Freescale, работа для них была, но остались не все. Торговая марка CodeWarrior принадлежала Freescale до ее поглощения NXM Semiconductor в декабре 2015 года.

Остались только воспоминания, и несколько книг от Metrowerks.