Медовый месяц карбонизации
Карбонизация - это вовсе не отправка пользователей программного обеспечения в поздний палеозой, это процесс переноса программ в Carbon. В современную ОС. Стив обещал ее в третьем квартале 1999. Пока самого Carbon не было, все было так легко!
На WWDC-98 было много интересного кроме Carbon. Повторная презентация iMac, первая состоялась за несколько дней до этого, у нас (на Apple IMC) этой штуковины еще не было.
В лобби конференц-центра организаторы конференции выставили несколько экземпляров iMac, для растерзания участниками. Задавая дурацкие вопросы и слушая дурацкие ответы на них, я немного задержался в зале - и чтобы получить iMac в свое распоряжение на 15 минут мне пришлось отстоять длиннющую очередь...
Заодно познакомился с будущим работодателем, который стоял в очереди после меня, с Джо Бирмингемом. Сошлись в взглядах на жизнь, обменялись координатами, ни о какой работе речь не заходила.
Попробовал iMac, отправил коротенькое письмо коллеге ("отправлено с iMac" подставил робот, в течении трех недель мне все завидовали), выяснил что мышка в форме хоккейной шайбы при нажатии не светится, как минимум на доставшемся мне экземпляре...
Этот вопрос, почему-то, интересовал всех моих знакомых в первую очередь. И я не помню, светились ли мышки в iMac "Rev. A". Мир меняется, а они о мышах...
Не знаю почему, мышка в форме хоккейной шайбы была очень нелюбима в народе. В народах всех известных мне стран. У меня с ней никогда не было никаких проблем, а рисовать с ее помощью оказалось гораздо удобнее, чем с помощью любой другой.
Поскольку до iPhone оставалось еще 9 лет, а домой надо было отправить несколько картинок, решил задачу старым солдатским способом: приобрел в коммуникационном бюро с десяток листов формата A4, написал на них текст с рисунками (гелевой ручкой с логотипами Apple и WWDC-98), и отправил их по факсу на адрес родной компании. Про стратегию развития операционной системы.
Уже 12 мая 1998 года на www.apple.ru было опубликовано слово правды, которое на фоне сенсационных сообщений в различных СМИ звучало диссонансом, и на нас посыпались "гнилые яблоки" в комментариях, но я об этом еще ничего не знал. Когда все выяснилось, никто так и не извинился. А я вернулся домой позже.
Это четвертая часть серии о превращении Apple в NeXT Apple. Предыдущие части:
- Apple выбирает путь.
- Каменноугольный период (Карбон) в истории Apple.
Продажи тихо падали...
К моменту презентации, Стив рулил Apple в течении 10 месяцев. И естественно, он начал выступление сравнением ситуации 10-месячной давности с нынешней (11 мая 1998). Было ужасно, теперь намного лучше. Два прибыльных квартала подряд, более 100 миллионов прибыли, доля Apple на рынке будто бы выросла с 3,4% в декабре 1997 до почти 4% в мае 1998 (он забыл добавить "по предварительным подсчетам", на самом деле она упала до 3,3%).
Объемы продаж все еще падали, прибыльность компании Стив выжимал драконовскими мерами. В каком-то детективе, который я смотрел за пару месяцев до поездки, главного героя приковали наручником к задней оси легковушки с включенным двигателем, и тому пришлось отпиливать себе правую руку пилкой перочинного ножичка... Apple находилась в похожем положении. Пилила себя "по живому", чтобы выжить.
После массового увольнения (коснувшегося, по моему, чуть ли не половины Apple), в компании не осталось ни группы продвинутых технологий, ни персонала десятков очень интересных проектов, ни отдела технической документации (самого лучшего в индустрии), а отдел технической поддержки разработчиков сократился до нескольких человек.
Компанию покинули сотни незаменимых и очень ценных сотрудников. Со временем, им на смену пришли другие, тоже ценные и незаменимые, но уже другие. Потеряно было очень многое.
Руководитель отдела DTS (Developers’ Technical Support) честно предупредил меня, что в его отделе осталось всего несколько человек, и все они перегружены работой с большими клиентами. Помогать будут, по мере возможности и по остаточному принципу. Если будет что-то экстремально срочное, я должен был лично ему написать - иначе ответы будут отложены на неопределенный срок.
На WWDC-98 было очень много интересного, но не буду отвлекаться от начала "великого перехода". Может быть, когда нибудь...
Carbon и его черновая спецификация
Первые впечатления "масс" были вполне благоприятными. Мне самому нестерпимо хотелось нырнуть в глубины кода на C++, позаковыристее, и заняться его адаптацией к "светлому будущему". Задача рисовалась трудоемкой, но вполне решаемой.
На WWDC участникам раздали "Draft Carbon Specification", и пригласили принять участие в обсуждении его пунктов. В этом черновике, для разных частей классической системы, был предложен один из трех вариантов будущего: убрать, переделать или оставить.
То есть, Carbon еще только проектировался, и даже на самом высоком уровне его состав еще не был определен.
Тем не менее, во время презентации, Стив Джобс сообщил разработчикам, что библиотека CarbonLib, интерфейс с "современной" версией Mac OS, будет включена не только в Mac OS X (в третьем квартале 1999), но и во все версии классической системы, начиная с Mac OS 8.5 "Allegro".
Утверждалось, что приложения, исходный код которых совместим с CarbonLib, будут совместимы с современной операционной системой. Спецификации которой еще не до конца определены. Некоторые верили.
В планах Джобса и Теваняна, на разработку первой версии Carbon отводилось примерно пять кварталов - год и три месяца. В процессе, пришлось вносить изменения не только в частные вопросы (это естественно в любом большом проекте), но даже в его основы. Из-за этого, CarbonLib в Mac OS 8.6 радикально отличался от CarbonLib в Mac OS 8.5, и в каждой новой версии классической системы в нем что-то добавлялось/менялось/удалялось.
Но самое неприятное было еще впереди. CarbonLib не обращал внимания, например, на прямые обращения к периферийным устройствам. Несовременные операционные системы, вроде классической Mac OS или Windows 3.x, позволяли программам делать все, что им угодно, со всей оперативной памятью компьютера, напрямую общаться с периферийными устройствами, и вообще они были невероятно удобны для программистов... естественно, за счет безопасности пользователя и его данных.
В современных системах эти, и многие другие, возможности предоставляются по другим правилам и на других принципах. Безопасность не гарантируют даже они, с ними, всего лишь, намного безопаснее.
Все программные продукты, в которых действия, становящиеся незаконными в новой системе, активно применялись и были жизненно важными, спокойно совмещались с CarbonLib (возможно, с предупреждениями - но кто на них обращает внимание?), а вот когда дело дошло до дела...
Carbon (настоящий), тем временем, разделился внутри себя на несколько частей, и одна из них, Core Foundation, была, по образному выражению инженеров, "подсунута под Cocoa". Основой библиотек на Objective-С стали объектно-ориентированные (с эпитетом "псевдо") библиотеки на чистом C, доступные одновременно как из Cocoa, так и из Carbon. У Mac OS X, помимо низкоуровневой Unix’овой основы, появилась еще одна общая основа, на этот раз высокоуровневая.
Да, модуль YellowBox, который еще недавно был Rhapsody, а до того OPENSTEP, снова изменил название. Он был переименован в Cocoa. В группе продвинутых технологий был невероятно интересный проект с таким именем. Что-то предназначенное для детей, для их развлечения и развития творческих способностей.
Но проект был закрыт, его результат никогда не выйдет на рынок (он фатально устарел за прошедшие с его закрытия 20 лет), все его разработчики, менеджеры и духовные лидеры были уволены из компании... И его название присвоили технологии, приоьретенной у NeXT.
Продолжение следует