Медовий місяць карбонізації

Карбонізація - це зовсім не відправка користувачів програмного забезпечення в пізній палеозою, це процес перенесення програм в 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. Попередні частини:

  1. NeXT Apple.
  2. Apple вибирає шлях.
  3. Кам'яновугільний період (Карбон) в історії 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.

Продовження слід

COM_SPPAGEBUILDER_NO_ITEMS_FOUND