Из истории WWDC. 1988 и 1989 годы
Самая первая конференция для независимых “яблочных” разработчиков Apple состоялась в 1983 году, и открыл её Стив Джобс. С 1987 года такие конференции проводятся ежегодно. В наше время они называются WWDC, о некоторых из них я расскажу. О первой “доисторической” конференции под управлением Джобса и о самой первой официальной из них (1987), открытой Джоном Скалли, читайте здесь. Если интересно, конечно. В 80-е реальность отличалась от нынешней. До вторжения коммуникационных технологий в личную жизнь всех обитателей планеты оставались считанные годы, угроза этой агрессии уже ощущалась, почти физически. Её ждали с восторгом и завидовали потомкам (нам с вами), сегодня то время кажется утерянным золотым веком. В те времена всевозможные публичные мероприятия – конференции, конгрессы, выставки и тому подобное – проводились намного чаще. Других способов донести до самых разных людей свои идеи и увлечь их своими достижениями практически не было. Уже тогда мало кто умел читать (понимая написанное, я имею в виду). С конца 90-х и до наших дней таких событий становится все меньше. Я расскажу о двух “яблочных” конференциях разработчиков, в 1988 и 1989 годах. Скорее всего, они уже тогда назывались WWDC, хотя нигде, кроме сегодняшней “Википедии”, их так никто не называет. Все “сессии” WWDC, кроме вступительной речи, были предназначены исключительно для участников конференции и секретны. Еще раз: проходили эти конференции на фоне сотен себе подобных, одна только Apple проводила по дюжине куда более массовых и раскрученных шоу. В число важных событий Apple “даб-даб-ди-си” (WWDC “по-американски”) вошли только во второй половине 90-х. WWDC-1988 Воспоминаний об этой конференции, скорее всего, просто не сохранилось. Я перерыл кучу номеров MacUser, MacWorld, InfoWorld и Apple2000 за 1988—1989 годы в поисках каких-либо её следов – возникало ощущение, что её вообще не было – но, в конце концов, мне удалось найти два её упоминания. Она не фантом. В обоих случаях её называют “конференция разработчиков”, в одном из них уточняя “этой весной”. Точные даты проведения WWDC-88 неизвестны, неизвестно, длилась ли она традиционные пять дней – как все 29 последовавших за ней. С большой вероятностью, весной. До того как я нашел упоминания о событии, даже время года было неизвестно. Зато современные источники хором сообщают, что проведена она была в Сан Хосе, “в том же конференц-центре (Convention Center), где Apple проводила WWDC до 2002 года и куда компания вернулась в 2017”. И WWDC-2018 проводится там же. Между тем San Jose McEnery Convention Center (Коференц-центр имени МакЭнери) был открыт в… 1989 году. WWDC 1988 года состоялась в старом конференц-центре. Вступительную речь произносил Джон Скалли. В апреле 1988 года Apple выпустила System 6, которая поддерживала процессор 68030 и Apple SuperDrive, совместимый с IBM PC дисковод для 3,5-дюймовых дискет ёмкостью 1,44 мегабайта. Все это использовалось в Mac IIx и Mac SE/30. А SuperDrive я хорошо помню, до его появления я и не подозревал, насколько дискеты эфемерны и недолговечны. В первых своих воплощениях SuperDrive был настолько капризен, что его именем стали называть не очень удачные конструкции в реальном и виртуальном мирах. SuperDrive вскоре исправился, но память о нем сохранялась долго. System 6 – самая лучшая и совершенная система первой классической эпохи. Простая и эффективная, очень надежная – как автомат Калашникова. Все еще написанная на asm, ассемблере процессоров семейства 68k от Motorola. Использование ассемблера уже не могло не напрягать – ассемблеры для 68000/68010, 68020 и 68030 не идентичны. А размер системы вырос. Скалли упомянул и о новой операционной системе, сообщив минимум подробностей. Было очевидно: время “шестерки” подошло к концу. Но это все вырыто из-под барханов Мохаве забвения. WWDC-88 запомнили из-за Clarus, ставшего её символом. Clarus, представитель неизвестного за пределами Apple Computer биологического вида “собако-корова” (“dogcow”). Clarus появилась в пиктографическом шрифте Cairo, разработанном Сьюзан Кэр в 1983 году для первого Mac’а. В Cairo этот символ был на месте буквы “z”. Символ должен был изображать собаку, и, по-моему, он ничуть не похож на корову, но кто-то (почти половина разработчиков первого Mac’а) решил, что эта корова не похожа на собаку, разве что чуть-чуть. Конфликт был устранен, символ назвали dogcow, присвоили ему личное имя, он занял важное место в корпоративной мифологии Apple Computer и Claris. Кстати, последнюю в Apple так и называли, неофициально. Значки с Clarus и футболки с ним же раздавались всем участникам WWDC-1988. Такой значок был на Скалли во время его выступления, и совершенно точно существовала его фотография с этим значком – но, скорее всего, она не сохранилась. Вот и все про WWDC-1988… WWDC-1989 Открывая конференцию 1989 года, Джон Скалли поведал миру о новой операционной системе, вызвав бурю восторга и множество самых нереальных надежд. Конференция открылась 9 мая, в новеньком San Jose McEnery Convention Center, на этот раз и правда “в том самом”, и закрылась 12 мая. С тех пор все WWDC продолжаются пять рабочих дней, с понедельника по пятницу. Скалли пообещал выход System 7.0 в первом квартале 1990 года. Помощники показали систему “в деле” и поблагодарили зал за аплодисменты. Показанное впечатляло. Многозадачность. Правда, “кооперативная” вместо “вытесняющей”, или настоящей, – как в юниксах и OS/2. Традиционная для Mac’а. В 1986 году Энди Херцфелд написал утилиту Switcher, позволявшую использовать несколько программ одновременно и переключаться с одной на другую. Утилита была жизнеспособна, но не слишком надежна. На её основе Майк Пóтел, будущий технический директор компании Taligent, разработал MultiFinder, уже официальную часть операционной системы, Mac’и теперь поддерживали многозадачность, по желанию пользователя. Для переключения из Finder в MultiFinder или обратно нужно было, включив требуемый режим, перезагрузить компьютер. Опыт использования MultiFinder у меня был, попробовав его раз пять или шесть, я от него отказался. Оперативной памяти тогдашних Mac’ов для многозадачности не хватало. Виртуальная память (только для Mac’ов c 68020, при наличии чипа управления памятью 68851 PMMU или с 68030 с встроенным блоком PMMU). Во время презентации ассистенты показали Mac с 8 мегабайтами оперативной памяти, и с виртуальной памятью в 30 мегабайт… Нереально. По-моему, размер виртуальной памяти не должен был превосходить объем физической – хотя в этом могу ошибаться. Но, если не требовать от виртуальной памяти слишком многого, все работало. SIMM’ы оперативной памяти стоили очень дорого, виртуальная память была удачной и экономичной альтернативой. Классические Mac’и с процессором 68000 виртуальную память не поддерживали вообще. В новой системе для адресации планировалось использовать все 32-бита (вместо 24, как в прежних версиях). Это поднимало предел оперативной памяти Mac’ов до фантастических и завораживающих в те годы величин: до 4 гигабайт! Круто. С 1984 по 1991 гг., в Inside Macintosh, в многочисленных документах, на форумах и где только можно еще, Apple Computer призывала разработчиков использовать для доступа к флажкам управления блоком памяти специальные API. При этом все знали (а это никто и не скрывал), что эти самые флажки можно снимать и устанавливать без всяких API, так как они располагались в “нижнем” неиспользуемом байте адреса. Все программы, в которых использовался этот “хэк”, с полной 32-битной адресацией были несовместимы. Абсолютно. Выход System 7.0 “убил” сотни программ, в том числе и самых-самых жизненно важных для пользователей. В 7.0.1 в настройках системы добавили чек-бокс для включения и выключения режима “32-bits clean”, а нарушителей попросили по-хорошему поскорее исправиться. Mac AppStore еще не было… В каком-то из последующих релизов по умолчанию 32-битную частоту стали выключать. С тех пор Apple не верит в разумность независимых разработчиков. Коммуникации между программами (Publish и Subscribe). Векторные шрифты (не PostScript, свой собственный стандарт, основанный на уравнениях Безье второго порядка, TrueType). Встроить в свою программу эту функциональность было нелегко, реализован он был громоздко и не совсем логично. Алиасы. Что-то вроде ссылок на объекты в файловой системе, но “умные”. Используя особенности Mac’овской файловой системы, алиасы умудрялись не терять файлы и папки при их перемещении. Не утаил Скалли от слушателей и страшное: новой системе потребуется намного больше ресурсов, чем шестой версии. Как минимум 2 мегабайта оперативной памяти нужны для самой “семерки”. Чтобы система могла выполнять что-то полезное, требовалось 2,5 М или больше. Система вышла в свет 13 мая 1991 года. Реализовав ВСЁ обещанное. Для самой системы, как мне кажется, хватало 1,5 М, на 2,5 М мой Macintosh SE “летал”. Раза на два медленнее, чем под “шестеркой”, но в “семерке” было столько всего нового и полезного, что назад уже не хотелось. И, кстати, очень может быть, что 1,5 М оперативной памяти хватало моему SE исключительно из-за невозможности включения виртуальной памяти. Blue, Pink и Red За кадром осталась интереснейшая тема. То, что привело к появлению на свет System 7, и не только её. Напишу про них отдельно.