Двадцать лет спустя: Mac OS 10.7. Часть вторая.
4. Краткий очерк межплатформенной психиатрии
Десятилетиями (с января 1984 года) разработка приложений для Маков была чем-то особым. В это странное ремесло входили совершенно иначе, чем в программирование для других систем. Здесь царили другие подходы, другое отношение к делу.
Другие традиции. Как и для любой другой платформы, разработка для Мака была кровавым нервным делом, трудоемким и мучительным до тошноты. Но была в ней какая-то магия... Магия красивых вещей?
Те, кому пришлось в трудные для платформы годы уйти из нее, не все — но многие — ощущали странный дискомфорт. Переучиваться вообще нелегко, но, как правило, интересно и любопытно. После Mac OS другие системы навевали тоску.
Вроде, все почти то же самое. В чем-то хуже, в чем-то лучше, в чем-то лучше почти на порядок — но без вкуса, без цвета, без остроты и какой-то неземной музыки.

Люди отняли от себя это наваждение, подозревали в себе психическое нездоровье. Зная от других, что на эту систему подсаживаются, ее избегали. Мудро? А не в безумии ли счастье?
Пишущих для Мака никогда не было слишком много. Маковские разработчики были почти сектой.
Нет правил без исключений, и даже не подозревая о существовании особенных тонкостей и ценностей этой платформы, совершенно случайные люди писали программы для Мака... иногда даже удачные — но какие-то не такие. Чтобы писать «такие», надо было Маком болеть.
Да, Мак — это болезнь. Жизнь, кстати, тоже.
Пишущих для Мака никогда не было слишком много. Их популяция уменьшалась в трудные времена, и увеличивалась в тучные — но медленно и нерадикально. Нужно было в разы больше. Хоть они и умудрялись писать много и очень хорошо, во все времена их не хватало.
Переход Apple на процессоры Intel вызвал приступ нешуточного любопытства, и популяция стала расти быстрее, чем когда-либо раньше, но книги по разработке для Mac OS X, и вспомогательные средства разработки для Маков, оставались заведомо убыточными проектами.
5. Большой взрыв номер два
В 2008 году случился взрыв. Сотни тысяч человек, никогда до этого не слышавшие про Mac OS X или Cocoa, занялись разработкой для iPhone OS. Практически, для Mac OS X уменьшенной и ужатой, но той самой. Некоторые из этих сотен тысяч пришли из Mac OS X (и им тоже было нелегко), многие — из Windows. Не меньше половины новых программеров осваивали ремесло программиста с самой нулевой точки уже здесь.
Взрыв продолжается. Как на его динамике скажется iPad — пока неизвестно, но уже слышны заявления самых разных компаний и индивидуалов о том, что они будут писать для него софт. Microsoft, Omni Development...

Число Маков растет. Только в январе 2010 года, по сравнению с январем 2009, их продано на 36% больше. Люди, покупающие Маки, по какой-то странной причине предпочитают именно программы, написанные для Мака. В наши дни любой Мак с «Интелом» внутри умеет исполнять программы для Windows или Linux едва ли не лучше, чем стандартные «писишки».
Но люди хотят именно программы для Маков.
Каждый программист для iPhone OS — пользователь Мака. Приобретение Мака для многих желающих ваять для iPhone OS — трудное препятствие (дорого), но они его мужественно преодолевают. Некоторые мучаются с Hackintosh. Это еще труднее.
Но речь не о том: появился новый, огромный, жаждущий и почти не освоенный еще ни кем рынок маковских программ. Рынок утилит для iPhone-разработчиков. Многие из «пришельцев» уже выпиливают такие утилиты на своих верстаках, осваивая Mac OS X и поражаясь, как она... похожа на ставшую уже почти родной iPhone OS.
Похожа — и не похожа. Появляется живой спрос на книги о программировании для Mac OS X, и дальше будет больше...
Будет ли Apple развивать Mac OS X? Да, потому что у нее нет другого выбора.
Конкретно сейчас, может быть, до нее не доходят руки. Но это временное явление, разве что когда-нибудь Apple выпустит Xcode для iPad. Это «когда-нибудь» наступит еще не скоро.
30-дюймовый планшетник, весом килограмм в десять-пятнадцать, о котором я пару недель назад прочитал на одном из сайтов — это нонсенс. Представьте себе, какую роль в нем могут играть датчики ускорений и положения. Как с их помощью всем этим чудом управлять? Особенно меня порадовала камера с тыльной стороны этого чуда ненаучной фантастики: а что и как предполагается снимать таким «фотоаппаратом»?

При разработке программ нужен просторный экран, необходима периферия для точного наведения курсора на цель (мышь), и много всего такого, что в планшетах появится еще очень не скоро, если вообще когда-нибудь.
Нельзя сказать, что чего-то нет — любила повторять преподаватель мат.анализа в моей юности — на это всегда можно ответить, что плохо искали. Тем более не стоит говорить, что чего-то никогда не будет.
Время меняет все. Например, мультитач может дополнить, или даже заменить, голографический трехмерный экран. Виртуальный дисплей, с изменяемыми, в широких пределах, размерами и характеристиками. Само же устройство вполне может стать удобной коробочкой карманного формата, весом в 300-400 грамм.
Мультитач (без каких-либо стилусов или других приспособлений, естественно) при всем этом техническом великолепии и авангарде, будет играть примерно ту же роль, что MS-DOS в ранних версиях Windows или классическая Mac OS в Mac OS X первых версий... Или как командная строка в двух главных «осях» начала XXI века.
6. Еще один экскурс в прошлое: в чем виновна System 7?
Ни в чем. Она чуть не стала причиной катастрофы, но во всем виноват тот самый человеческий фактор, из-за которого происходит большая часть авиакатастроф. Разработчики системы тоже не при чем. Они честно делали свое дело. Это были ошибки управления и организации.
В начале 90-х руководство Apple Computer «забыло» про System 7. Люди, которые занимались ей, продолжали получать зарплату, отвечали на информацию об ошибках и на новые конфигурации Маков выпуском новых релизов. Предлагали улучшения и новшества. Не получая в ответ ни да, ни нет. Левая рука не знала, что делает правая...
В умах руководства свистел ветер безумия. Шквал. Щеки были раздуты, понты и пиар отнимали 3/4 бюджета, на оставшиеся крохи, часто в одно и то же время, как правило не зная о существовании других команд, занятых почти тем же самым, разрабатывались сотни самых разных проектов...
Например, от трех до четырех «современных операционных систем», трехмерные интерфейсы, системы распознавания голосовых команд, продвинутые графические движки, технологии для обработки текстов на живом человеческом языке...
Число проектов непрерывно росло. По слухам, менеджеров среднего звена оценивали именно по числу проектов, инициированных ими. В описания проектов чаще всего даже не заглядывали. Десятки полубеспризорных команд бродили ночами по кампусу, обсуждая самые невероятные проблемы и способы их решения, месяцами не видя тех, кто поручил им разработку.

Они с трудом находили «своего» менеджера, чтобы уточнить, что и как делать — но менеджер, как правило, не мог ни вспомнить, ни понять, о чем идет речь...
При этом, все работали. Как всегда в Apple, не жалея ни сил, ни времени. Проект, от которого зависела жизнь компании, тот самый Copland, был прекращен, так как над ним полностью утратили контроль. Кстати, система таки была написана, она даже работала — но глючила отчаянно.
Обжегшись на воде, дуют на молоко. Сохранив болезненные воспоминания о годах бездумного разбрасывания камней, и о том, что было потом, Apple вполне могла бы пойти сейчас по неверному пути. По пути полной и абсолютной концентрации на одной единственной системе — на iPhone OS...
Но Mac OS X и iPhone OS — почти одно и то же.
Вопрос, тем не менее, все еще открыт. Мне кажется, что и после «семерки» Apple будет выкатывать новые и новые версии Mac OS X, и однажды нам придется гадать о том, как будет нумероваться очередная версия — будет ли это 10.10, или 11.0?
7. Большой взрыв номер один
Я уже много раз писал про System 7, но не могу не написать про нее еще раз. Это было 20 лет назад, в другой стране (но в том же самом месте), вода была мокрее, сахар слаще — но наверное из-за того, что его продавали по талонам.
Говорят, что в те времена по улицам наших городов слонялись динозавры, а в небе парили птеродактили — врать не буду, я их не видел. Может быть, в лесах за МКАД они и водились, поскольку водка тоже продавалась по талонам, да ее еще и не всегда завозили — и люди пили умопомрачительную дрянь.
«Семерка» радикально отличалась от предшествующих ей «шестерок». Внешне и внутренне. Внутренне это была вообще другая система. С иммунитетом против большинства маковских вирусов, отравлявших жизнь в System 6.

Она была жадной до ресурсов, задумчивой на самых распространенных в то время Macintosh Plus, Macintosh SE, и на самых новых тогда Macintosh Classic.
Все эти Маки поставляли с предустановленным Мегабайтом оперативной памяти, System 7 требовала для себя не менее полутора (а работать начинала где-то с двух). Если в 1991 году кто-то видел птеродактилей, скорее всего это были баги из System 7, вылетавшие поглазеть на мир и подышать свежим неионизированным воздухом.
Но подавляющее большинство из тех, кто преодолел трудности, и установил на свой Мак новую систему, так и не смогли вернуться назад. Технически это было проще простого. Но в новой версии было столько всего нового, понятного с первой минуты и бесконечно полезного, что назад возвращаться уже не хотелось.
Мнения о новой системе разделились. Умные люди считали ее крайне неудачной, обзывали всякими словами, и оставались в 6.0.8, и некоторое их число пользуется «шестеркой» даже в 2010. Шестерка до сих пор остается самой беспроблемной и чистой операционкой от Apple, предельно простой и шустрой даже на древнем хардвере, изменившем от времени свой цвет.
С помощью WriteNow, MacWrite, или одной из первых версий MS Word (это была отличная программа), тексты набираются ничуть не медленнее, чем в современных программах на технике с тактовой частотой большей в триста с лишним раз! Есть только одна проблемка — форматы.
За 20 лет древние форматы изучены вдоль и поперек, а кроме того, для древних «шестерок» продолжают писать софт. По словам тех, кто пользуется «шестеркой», проблема с форматами решается. Зато какие шедевры! Excel 1.04 и 1.5, FileMaker II...
Есть на «шестерке» (и «семерке») программы, аналогов которым в современном мире нет. Умершие в период яблочного кризиса MacProject II и HyperCard...
И Scarab of RA — незабываемый лабиринт с мумией и вороватыми обезьянами...
Мне довелось положить руки на клавиатуру Macintosh II с установленной на него более чем 20 лет назад «шестеркой». Эту экскурсию в детство я не забуду до самой смерти...
8. Несколько слов о юбиляре
«Семерка» была первой маковской системой, написанной не на ассемблере, а на C++. Это была первая маковская система с виртуальной памятью (примитивной, и не без глюков — но очень удобной... ничего подобного до сих пор нет, например, в iPhone OS), обязательная многозадачность (кооперативная, необязательная, была и в прежних версиях системы — но ее надо было специально включать, и почти никто ей не пользовался).
В семерке появились «алиасы» (то, что в Windows 95 назвали ярлыками, только алиасы появились раньше, и были «умнее» — они находили свои файлы даже после перемещения последних, и умели указывать на файлы, которые располагались на других компьютерах в локальной сети, предалагая установить связь с удаленными файловыми системами... одним нажатием кнопки, и возможно, требуя ввести пароль), меню Apple стало центром запуска программ, превратилось в мощное средство навигации, и много-много чего еще.
Кодовое название у «семерки» было почти пророческим. Big Bang. Большой взрыв, с которого начала свое существование наша вселенная. Согласно одной из теорий...
Взрывов в системе было много.
Мало кто помнит то время: маковские сообщения об ошибках, после которых, с вероятностью 99/100, компьютер надо было перезапускать, выводились на алертах с бомбой (времен флибустьеров и Аустерлица) в левой верхней части.
Сегодня это называется «крэш», а в те дни — «бомбами».
Одна из компаний, занимавшихся технической поддержкой пользователей Маков, так и называлась — Bomb Squad. Как группа обезвреживания взрывных устройств в местном департаменте полиции.
И с выходом семерки начиналось драматическое «семерочное» десятилетие, целая эпоха.
Семерка — число магическое. Особенное...
Олег Свиргстин
Software Director
iPhone Developers EAST

