Каменноугольный период (Карбон) в истории Apple

11-12 мая в компьютерных СМИ появились сообщения о том, что Apple Computer порвала с наследием NeXT, Rhapsody не будет, и что NeXT была приобретена исключительно для возвращения Стива Джобса в его родную компанию.

Каменноугольный период (Карбон) в истории Apple. Фото.

На самом деле, как вы догадались (а может, просто знаете), проект Rhapsody никто не закрывал, Carbon был гениальным и запредельно опасным трюком, и, скорее всего, это был единственный выход из сложившейся ситуации.

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

Откуда название? С английского Carbon переводится как уголь, углерод, черный алмаз – а еще это название одного из геологических периодов палеозойской эры. По-русски у этот период называется каменноугольным, или “Карбоном”. Значительная часть важнейших залежей каменного угля на нашей планете была образована именно тогда. В позднем палеозое.

Карбон в истории Земли длился примерно 60 миллионов лет, и закончился, опять же примерно, 300 миллионов лет назад.

Карбон в истории Apple начался 11 мая 1998 года (20 лет назад), он закончился совсем недавно, оставив после себя реликтовые технологии, живые до сих пор. Некоторые из них, для применения в Swift, изменились до неузнаваемости и обрели вторую молодость – но о Swift поговорим когда-нибудь потом.

Это третья часть серии о превращении Apple в NeXT Apple. Предыдущие части:

  1. NeXT Apple.
  2. Apple выбирает путь.

WWDC-1998

Из всех конференций WWDC эта – особенная. Лично для меня. Это единственная WWDC, на которой я был. Остальные посетить не удалось. Дорого, далеко, не хватало времени или у компаний, где я работал, на это просто не было денег.

Со временем я понял, что это необязательно: все самое интересное на этих конференциях можно посмотреть в записи. На CD, а с некоторых пор – на сайте Apple для разработчиков. Все остальное – антураж, движуха и прочие мелочи – согласитесь, интересны. Но без них вполне можно обойтись. Тем более, по мнению старожилов этих конференций, на них все хуже и хуже кормят.

Во времена Жана-Луи Гассé кормили (за счет Apple!) деликатесами. Может быть хорошо, что в 1998 все было проще, французской кухни я (после Франции и Бельгии) побаивался.

Кроме того, попасть сразу на все сессии конференции, которые интересны и нужны, нет никакой возможности: часто две, а то и три, самых-самых проводятся одновременно.

Некоторые сессии проводятся по два раза, но мнение Apple не всегда совпадает с нашим мнением – поэтому, в любом случае, для близкого и подробного знакомства с изложенным во время конференции материалом альтернатив просмотру их в записи нет.

WWDC-1998 важна еще и потому, что именно там, 11 мая 1998 года, Apple Computer озвучила план, превративший компанию в то, чем она стала теперь. Страшно представить себе, что было бы если бы…

В прошлой части я немного рассказал о неразрешимых и непреодолимых проблемах, из-за которых почти все молодые и безумно интересные компьютерные платформы конца 80-х и начала 90-х, оказались на мели и исчезли.

Каменноугольный период (Карбон) в истории Apple. WWDC-1998. Фото.

Carbon

О революционном изменении планов, сообщал Стив. Начал он с того, что уподобил Apple Великобритании. Он назвал Mac OS “жемчужиной короны Apple”. У Великобритании этим термином обозначалась Индия, во времена когда над королевством никогда не заходило солнце.

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

Но что конкретно несовместимо? В классической Mac OS, по состоянию на 11 мая 1998 года, было чуть больше 8000 API.

API (application programming interface) – это, в классической Mac OS, процедуры и функции в библиотеках операционной системы, используемые программистами для взаимодействия с операционной системой и железом компьютера, на котором исполнялись программы.

Проверить все эти тысячи API на совместимость – задача очень трудоемкая, и непростая. Оказалось, что 6000 API могут быть использованы в современной операционной системе. Остальные 2000 требуют замены на современные аналоги.

Анализ десятков приложений для Mac’а привел к еще более обнадеживающим выводам: из несовместимых с современностью 2000 API, большая часть относилась к древним пластам операционной системы, и в популярных приложениях 1998 года почти не использовалась. Эти API сохраняли в библиотеках исключительно для совместимости.

Все жизненно-важные для Apple программы оказались совместимыми с современной ОС на 85-90 процентов (от 80 до 94, но большинство укладывалось в 85-90). Если для перенос этих программ в Rhapsody был невозможен, их нужно было проектировать и создавать заново, и потратить на это год или два (как минимум), то теперь их перенос, по мнению Стива и Эви Теваняна, сокращался до 1-2 месяцев…

Логика программ, при этом, сохранялась. Переписать “10% программы” – это реально и осуществимо. Правда, в зависимости от предметной области и потребностей программы, эти 10% были разными (от почти 0% в некоторых случаях до половины критического кода), но это уже детали, о которых мы поговорим в следующей части.

Apple выпустила CarbonLib для классической Mac OS, комплекс библиотек “совместимых” с еще несуществующей средой Carbon. Теперь программист мог проверять плоды своего нелегкого труда на совместимость с будущим… Которое, как вы уже поняли, еще не было до конца определено.

Утилиты, разработанные в процессе проверки системы и приложений на совместимость с современной ОС, были размещены на сайте Apple, в виде веб-приложения Carbon-Dater. И теперь авторы всех этих программ могли проверять уровень совместимости программ.

Приложение заработало еще до окончания WWDC.

Но интерес обычных разработчиков был не более чем побочным эффектом решения. Это был спасательный круг для Apple и для её новой операционной системы. В завершающей части презентации, Эви Теванян представил доказательства работоспособности нового подхода, пригласив на сцену руководителей инженерных служб трех важных для Apple компаний, которым за две-три недели до события предоставили CarbonLib, для пробы.

CarbonLib и помощь всей Apple, включая DTS (Developer Technical Support) и инженеров которые работали над созданием Carbon.

CarbonLib и поддержка были предоставлены 12 компаниям, из них только три (Microsoft, Macromedia и Adobe) сумели справиться с заданием и выступили на сцене WWDC. Как вы понимаете, этот факт не был обнародован в то время, и оставался секретным вплоть до самого недавнего времени.

А как же Rhapsody?

Стратегия развития операционной системы, с высоты птичьего полета

Теперь речь не шла о двух вариантах операционной системы, по аналогии с Windows 95 и Windows NT. Названия у новой операционной системы пока не было, по моему даже было какое-то голосование на эту тему, в котором я поучаствовал. Я предлагал CalvadOS.

Никогда не поверю, что самым предлагаемым вариантом был Mac OS X, где X – это 10, а не “икс”. Но c 11 мая 1998 года она называлась именно так.

Каменноугольный период (Карбон) в истории Apple. Стратегия развития операционной системы, с высоты птичьего полета. Фото.

На укрупненной блок-схеме Mac OS X, над слоями низкого уровня (микроядро, Darwin – операционная система на базе OpenBSD, с лучшим из других вариантов BSD и из Linux’ов) было три прямоугольника.

BlueBox (заповедник древностей, среда с классической OS, “улучшенной по сравнению с нынешним её вариантом”), YellowBox (это то, что раньше было Rhapsody) и Carbon. Скоро, по моему в 1999 году, YellowBox был переименован в Cocoa, а BlueBox – в Classic. Больше никакого бокса, господа!

Закрашены прямоугольники были, соответственно, синим, желтым и светло-серым цветом.

Народ фантазировал про появление в будущем “RedBox”, в котором будут работать приложения для Windows NT, и других Box’ов (BeBox?) – но в Apple уже приняли решение о нецелесообразности предоставления другим платформам “жилплощади” в Mac OS X. Пока на этом не стали заострять внимание – это посчитали неважным.

Позже Стив подтвердил, что главной целью изоляционизма было спровоцировать людей на написание оригинальных программных продуктов именно для новой системы, иначе все будут использовать программы написанные для Windows NT.

Продолжение следует

История AppleКонференция AppleСтив Джобс