В начале была командная строка...
В начале была командная строка...
***
Предисловие технического редактора: по нашим компьютерным меркам данное эссе было опубликовано давным-давно, в 1999 году — в то время, когда все знали, что такое MS-DOS, когда одними из основных операционок были Windows 95, MacOS версии 9, Linux 2.2, когда ещё существовала (и даже активно развивалась) BeOS... Интересное было время... Но самое интересное, что Нилу Стивенсону удалось показать некоторые вещи, которые не меняются.
Вступление
Лет двадцать назад дерзкие мечтатели Джобс и Возняк решились на очень необычный шаг — они стали продавать компьютеры обычным пользователям. Как ни странно, дело пошло на лад, основатели Apple заработали кучу денег и прославились на весь мир. В то же время Билл Гейтс и Пол Аллен пошли ещё дальше — они стали продавать операционные системы. И вот это уже не лезло ни в какие ворота. Компьютер хотя бы физически существует в природе — его приносят домой в коробке, распаковывают, подключают, на мониторе появляется картинка. А что такое операционная система, как не сплошная иллюзия? Да, конечно, она записана на диске, но диск, по сути своей, никакого отношения к операционной системе не имеет. Как таковая ОС — это длинная строка нулей и единиц, которая, должным образом установленная и используемая, позволяет управлять другими бесконечно длинными строками нулей и единиц. Даже те немногие избранные, кто действительно понимает, что же такое операционная система, склонны считать её чудом сакральной инженерной мысли наподобие ядерного реактора или самолета–разведчика U-2, а никак не (выражаясь научно–технологическим языков) «продуктом для реализации».
А теперь учрежденная Гейтсом и Аленом корпорация продаёт операционные системы как горячие пирожки. Новые операционные системы выходят с такой же помпой, как и новоиспечённые голливудские боевики — те же «звезды» на экранах телевизоров, те же рекламные компании и мировые туры. Операционных систем уже так много, что беспокоиться о монополизации их одной компанией просто смешно. Сегодня даже самый отсталый в техническом плане человек имеет хотя бы смутное представление о том, чему служит операционная система и какими качествами обладает. Более того, даже самые простодушные и невежественные компьютерные пользователи понимают, насколько бессмысленно запускать программное обеспечение, работающее на Macintosh, под Windows. С таким же успехом можно попробовать подковать «бьюик».
Если бы человек, допустим, впал в кому двадцать лет назад и очнулся в наши дни, то, раскрыв утреннюю New York Times он понял бы всё, кроме, пожалуй, следующего:
Статья: богатейший человек в мире сколотил состояние не на железной дороге, не на торговых операциях и даже не на нефти, а на операционных системах.
Статья: Министерство юстиции США, пользуясь дедовскими методами правосудия, предъявляет корпорации Microsoft обвинение в нарушении антимонопольного законодательства.
Статья: Моя подруга недавно порвала виртуальные отношения с молодым человеком и больше ему не пишет. Поначалу он казался таким умным и интересным, а потом вдруг «стал наезжать на меня, словно у него Mac, а у меня — Windows».
Да что ж тут происходит, ради всего святого? Есть ли у операционных систем будущее? Я попытаюсь ответить на оба вопроса. Сразу оговорюсь — мнение моё абсолютно субъективное, однако как человек, потративший достаточно времени не просто на использование, но и программирование Macintosh, Windows, Linux и BeOS, я всё?таки знаю, о чём говорю. Далее представлен мой личный, субъективный взгляд на проблему, и эта книга — скорее обзорная статья, чем исследовательская работа, а потому не стоит сравнивать её с рецензиями и критическим разборами, размещёнными на страницах компьютерных журналов. Но с тех самых пор, как вышёл первый Mac, наши операционные системы зиждутся на метафорах, а любое нечто, состоящее из метафор, — это здорово. По крайней мере, я в этом убеждён.
Автомобили, автомобили… А также танки
В то время, когда Джобс, Возняк, Гейтс и Аллен претворяли в жизнь свои невероятные мечты, я был подростком и жил в городе Эймсе штата Айова. У отца одного моего приятеля была старая спортивная машина, ржавевшая в гараже. Иногда её всё?таки удавалось завести, и нас приглашали покататься по городу. Отец друга пребывал на седьмом небе от счастья — думаю, он воображал себя каким?нибудь беспечным ездоком, несущимся навстречу судьбе по бескрайнему полотну дороги. А вот мы считали его попросту сумасшедшим — кому ещё доставит удовольствие трястись на глохнущей рычащей колымаге и глотать пыль да выхлопные газы.
Однако впоследствии именно эти поездки помогли мне кое?что понять в отношении человека и высоких технологий. Во–первых, фантастический образ и внешний дизайн оказывают на людей магическое действие. Не верите? Пообщайтесь (если вам некуда девать время) с любым владельцем Macintosh — вот уж кто поведает вам о нелёгкой судьбе горстки изгоев, угнетаемых только из?за того, что посмели приобрести продукцию Apple.
Во–вторых — и тут я ступаю по тонкому льду — интерфейс играет важнейшую роль. Бесспорно, старая спортивная машина была сплошным недоразумением: норовистой, ненадёжной, хилой. Но при всём при том она была манёвренной, водить её было истинное наслаждение. Ты чувствовал каждый камешек на дороге, каждая рытвина отдавалась в твоём теле. По урчанию мотора можно было определить, что с ним не так. Руль беспрекословно повиновался держащей его руке. Для нас, ёрзающих на заднем сиденье, езда не представляла никакого интереса, она казалось такой же бессмысленной, как китайские иероглифы. Зато для водителя это было настоящее приключение. Он словно бы получал ещё одно тело, которым мог управлять, ещё пару чувств впридачу. Ему открывались возможности, недоступные обычному пешеходу и праздному пассажиру.
Эта аналогия между машинами и операционными системами кажется мне вполне подходящей, чтобы обрисовать сложившееся на сегодняшний день положение на рынке операционных систем.
Представьте себе перекресток, а на нём четыре конкурирующих центра по продаже автомобилей. Один из них (Microsoft) – большой, намного больше остальных, когда?то начинал с продаж трехскоростных велосипедов (MS?DOS), не безупречных, но довольно шустрых и неприхотливых.
Соседи (Apple) тоже начинали с велосипедов, пока в один прекрасный день не выставили на продажу моторизированное средство передвижения – дорогую красивую и стильную машину с запаянными наглухо багажником и капотом, чтобы никто не смог разгадать, как же она работает.
Ответ конкурента не заставил себя ждать – на рынок поспешно выбросили мопед (Windows). Хитроумное устройство в стиле великого иллюзиониста Гарри Гудини, болтами прикручённое к упоминавшемуся выше трехскоростному велосипеду, позволяло ему (хоть и не без труда) держаться вровень со сверкающими изделиями Apple. Пользователи Windows носили защитные очки и выковыривали из зубов мелких насекомых, а владельцы Apple, насмешливо ухмыляясь, проносились мимо в герметично запакованных машинах. Однако мопеды подкупали дешевизной, да и починить их, в отличие от изобретения Apple, ничего не стоило, поэтому продажи Microsoft неуклонно ползли вверх.
Вскоре гигантский дилер тоже выпустил полнофункциональный автомобиль – исполинских размеров универсал (Windows 95). Страшный, как архитектура соцреализма, с подтекающим топливным баком и глохнущим мотором он произвёл небывалый фурор. Чуть позже за ним последовал неуклюжий внедорожник, предназначенный для промышленных потребителей (Windows NT), — такой же уродливый, но чуть более надёжный.
С тех пор много воды утекло, но по существу мало что изменилось. Небольшой центр продаёт элегантные, радующие глаз седаны и тратит уйму денег на рекламу. Таблички «ПРОДАЁТСЯ!» всё так и висят на их окнах, изрядно пожелтевшие и потрепанные от времени. Большой центр продолжает выпускать громадные универсалы и массивные внедорожники.
Недавно по другую сторону дороги открылось ещё два центра.
Первый (корпорация Be) продаёт полностью работоспособные бэтмобили (Be OS). По красоте и дизайну они превосходят даже стильные седаны, плюс, они более совершенны с технической точи зрения и надёжнее всего, что представлено на рынке, и, кроме того, — они дешевле остальных.
За одним исключением – Linux, компании–соседа, которую язык не повернётся назвать «коммерческим предприятием». Это группа автофургонов, юрт, вигвамов и геодезических куполов, поставленных в открытом поле, где люди живут в мире и согласии. И сваривают танки. Не отжившие свой век старые советские образцы, а скоростные, мощные, надёжные боевые модели из сверхновых материалов, используя современные технологии. И эти танки лучше армейских. Они настолько легки и маневренны, что могут ездить по городским улицам, почти никогда не ломаются и потребляют бензина, как обычные малолитражки. Они штампуются один за другим прямо на поле и выстраиваются в ряд на обочине, маня ключами в замке зажигания. Любой желающий может вскарабкаться в кабину и поехать, куда глаза глядят совершенно бесплатно.
День и ночь снуют на пересечении дорог покупатели. Девяносто процентов из них сразу устремляется к самому большому дилеру и покупает универсалы или внедорожники. На других продавцов они даже не глядят.
Из оставшихся десяти процентов большинство тратит деньги на роскошные седаны. Падкие на универсалы и внедорожники обыватели вызывают у них высокомерную ухмылку. Они язвительно подшучивают над чудаками и сумасшедшими, продающими дешевые, превосходные в техническом отношении средства передвижения.
Бэтмобили приобретают случайные покупатели, например, сумасбродные коллекционеры, которым одного универсала мало.
В организации, отдающей задаром танки, работают исключительно волонтёры, лишь поэтому она и остаётся на плаву. Волонтеры носятся по улице с мегафонами, пытаясь заинтересовать народ невероятностью сложившейся ситуации. Типичный разговор происходит так:
Хакер с мегафоном: Деньги останутся при вас! Бесплатные танки! Неуязвимые, им не страшны огонь, вода и медные трубы! Девяносто миль в час! Галлон на сто миль!
Предполагаемый покупатель универсала: Конечно, в ваших словах есть доля истины, но, хм…. Я ведь понятия не имею, как управляться с танком!
Мегафон: Можно подумать, вы знаете, как управляться с универсалом!
Покупатель: Но у продавца универсалов есть механики. Если что?то сломается, я возьму отгул на работе, привезу им универсал, заплачу за работу и подожду в приёмной пару–тройку часов под звуки какой?нибудь ненавязчивой музыки.
Мегафон: Но если вы купите танк, наши волонтёры придут к вам домой, пока вы спите, и всё починят!
Покупатель: Да я их на порог не пущу, идиот несчастный!
Мегафон: Но…
Покупатель: Не видишь, что ли, все покупают универсалы!
Норовистый бит
Вряд ли я усмотрел бы связь между автомобилями и компьютерами, если бы меня в своё время не взяли прокатиться на старой спортивной развалюхе. Тогда я только–только записался на компьютерный курс в школе родного города Эймса. После пары вступительных лекций нас допустили в святая святых — крошечную комнатку с телетайпом, телефоном и стареньким модемом, представлявшим собой металлическую коробку с двумя резиновыми чашечками наверху (примечание: возможно, многих читателей после этого предложения обуяет невыносимый страх, они испугаются, что вот–вот, и мой рассказ превратиться в скучные заумные воспоминания, какими крутыми мы когда?то были; другие же решат, что я таким образом собираюсь с духом, чтобы приступить к описанию какой?нибудь новомодной, «хитовой» теме типа Open Source Software). Телетайп был именно тем, чем он всегда и был — устройством для отправки и получения телеграмм. По сути — шумная, печатающая только ЗАГЛАВНЫМИ БУКВАМИ пишущая машинка. Рядом с ним примостился аппарат поменьше с толстым рулоном бумаги и прозрачным пластиковым лотком.
Чтобы соединить этот прибор (который вовсе не был компьютером) с «Мэйнфреймом» — головной вычислительной машиной государственного университета Айовы, находящемся на другом конце города, вы снимали телефонную трубку, набирали номер компьютера, слушали странные шумы и помехи, затем смачно опускали трубку на резиновые чашечки. Если вы не промахивались, одна каучуковая манжета обхватывала мембрану микрофона, вторая — громкоговорителя. Такой вот изощрённый секс информационных технологий, поза 69. Телетайп трясся, словно удалённый «Мэйнфрейм» заразил его пляской святого Витта, и выстукивал шифрованные послания.
Так как компьютерного времени было в обрез, мы использовали некое подобие пакетной обработки данных. Перед тем, как набрать номер, мы включали ленточный перфоратор (вспомогательный аппарат, прикрученный к стенке телетайпа) и печатали программы. Каждый раз, когда мы нажимали клавишу на клавиатуре, телетайп со стуком пробивал на бумаге набранную нами букву, и мы видели, что печатали. В то же время он преобразовывал эту букву в набор из восьми двоичных символов, битов, и штамповал на перфоленте соответствующее количество дырок. Бумажные кружочки, выбитые из продырявленной ленты, плавно опускались в пластиковый лоток, который медленно заполнялся настоящими, истинными битами. В последний день нашего пребывания в школе, самый одарённый парень класса (не я), возможно, в шутку, возможно, от переизбытка чувств, выпрыгнул из?за парты и вывалил на голову преподавателя мусорную корзинку этих битов. Это единственное воспоминание о школе, которое я никогда не забуду, – замерший в оцепенении учитель, багровеющий от сдерживаемой ярости, и миллионы битов (мегабайты)[1], осыпавшие его с головы до ног.
Одним словом, моё взаимодействие с компьютером носило строго организованный характер и имело четкое разделение на несколько стадий, а именно: 1) сидя дома перед листом бумаги с карандашом в руках, в нескольких милях от ближайшего компьютера, я усиленно думал, что же я хочу от компьютера и как перевести мои желания на понятный компьютеру язык – буквенно–цифровую последовательность; 2) я нёс этот лист бумаги через, так сказать, информационно–санитарный кордон (три мили пешком через снежные завалы) в школу и заносил последовательность в некое устройство (не компьютер), которое преобразовывало символы в двоичные числа и наносила их видимое обличье на перфоленту; 3) затем, при помощи модема с резиновыми чашечками, я пересылал эти числа университетскому «Мэйнфрейму», который 4) производил с ними арифметические действия и отправлял обратно на телетайп результаты вычислений (другие двоичные числа); 5) телетайп трансформировал их обратно в буквы и со стуком распечатывал на странице; 6) я, пристально в вглядываясь в набор букв, истолковывал их как значимые символы.
Разделение обязанностей вышеописанного процесса ясно как божий день: компьютеры производят арифметические действия над битами. Люди истолковывают биты как значимые символы. Однако сейчас, с выходом в свет новейших операционных систем, которые, ради доступности широким массам пользователей, употребляют, а чаще — злоупотребляют силой метафоры, всё стало несколько более запутанным и сложным. Вдобавок – возможно, потому что из?за метафор операционные системы воспринимаются, как некая разновидность магии и искусства, — люди начинают эмоционально привязываться (как когда?то отец моего друга привязался к спортивной машине) и становиться зависимыми от этих частей программного обеспечения.
Людей, взаимодействующих с компьютерами посредством графического пользовательского интерфейса MacOS или Windows (то есть почти каждого первого), наверное, смутят и обескуражат описания телетайпа, который я использовал в 1973 году для связи с компьютером. Но каждой технологии – свой срок. Люди могут общаться друг с другом разными способами – с помощью музыки, искусства, танца, мимики, жестов. Какие?то из данных способов общения проще представить в виде сроки символов, какие?то сложнее. Не составит труда переложить на машинный язык письменную речь, так как письмо само по себе не что иное, как строка символов. Если символьные знаки принадлежат фонетическому алфавиту (а не идеографическому письму), то преобразовать их в биты не составит никакого труда, что и доказывают появившиеся в начале девятнадцатого столетия азбука Морзе и различные виды телеграфа.
Человеко–компьютерное взаимодействие возникло несколько сот лет тому назад, задолго до появления самого компьютера. Когда, приблизительно во время Второй мировой войны, появились первые ЭВМ, люди (что вполне естественно) общались с ними посредством привычных, уже известных им устройств, переводящих буквы в биты и наоборот, то есть с телетайпами и перфораторами.
Эти устройства олицетворяли собой два принципиально разных подхода к обработке данных. Работая с перфоратором, вам приходилось пробивать целую стопку карт и прогонять их всем скопом через устройство ввода. Это называлось пакетной обработкой. То же самое можно было сделать и на телетайпе с помощью устройства ввода с перфоленты, и именно такой способ работы и поощрялся нашими школьными учителями. Однако, как бы они не старались держать нас в неведении, телетайп позволял делать и нечто большее, то, что перфоратору было не под силу. Подключив модем и установив канал связи, в телетайпе можно было набрать строку и нажать клавишу «Enter». Телетайп отправлял строку компьютеру, тот в ответ присылал (или не присылал) несколько своих строк, которые телетайп не спеша выстукивал на ленте, предоставляя расшифровку вашей переписки с машинами. Поначалу данный способ общения не имел даже названия, лишь годы и годы спустя, когда ему на смену пришли более современные средства обмена информацией, задним числом его нарекли интерфейсом командной строки (Command Line Interface).
В колледже, куда я поступил, в огромных, давящих объемами комнатах размещались чуть более усовершенствованные типы всё тех же приёмо–передающих аппаратов, перед которыми сидели десятки студентов и писали программы. И хотя эти устройства работали по типу матричного принтера, с программистской точки зрения, они ничем не отличались от старых добрых телетайпов. Кроме одного – в режиме разделения времени эти компьютеры работали на порядок лучше. То есть «Мйэнфреймы» оставались «Мэйнфреймами», но одновременно они уже могли общаться с довольно внушительным количеством терминалов. Ненужные более перфокарты заполнили коридоры и подсобки, а пакетной обработкой данных теперь пользовалась крошечная группа полностью свихнувшихся энтузиастов, и в конце концов от неё остались лишь овеянные зловещей тенью воспоминания. Мы же сбросили оковы пакетной обработки и вверили себя интерфейсу командной строки, даже не подозревая, что тем самым сделали первый шаг по направлению к парадигме операционных систем.
Груды смятой гармошкой бумаги устилали пол под хвалеными телетайпами, неисчислимые рулоны бумаги наматывались на валики. Почти вся бумага – чистая, нетронутая пером безжалостно выбрасывалась или пополняла кипы макулатуры. Подобное невиданное варварство подняло волну возмущении в среде экологов, и вскоре телетайпы заменили на видеотерминалы или, как их ещё называли, «стеклянные телетайпы» — почти бесшумные, не тратящие почём зря бумагу. Хотя, опять же, с программистской точки зрения, они тоже почти ничем не отличались от телетайпов эпохи Второй мировой войны. Короче говоря, мы общались с компьютерами на древнеанглийском языке вплоть до 1984 года, когда Macintosh явил миру графический пользовательский интерфейс (Graphical User Interface). Но даже во времена расцвета графического пользовательского интерфейса (или ГПИ, как я собираюсь его теперь называть) командная строка продолжала жить глубоко–глубоко в недрах большинства современных компьютерных систем, словно неискореняемый, данный от природы инстинкт. И живёт до сих пор.
ГПИ
Первое, что необходимо понять разработчику нового программного обеспечения – каким образом перевести некое количество информации (пиксели, если он работает над графическим приложением, цифры, если создает электронную таблицу) в линейную последовательность байтов. Обычно такие последовательности называются файлами, но если вы хотите быть «в теме», зовите их «потоками» (streams)[2]. Как человек, по сути своей, всё тот же кроманьонец, так данные последовательности, по сути своей, всё те же телеграммы – та же фигня, только вид сбоку. То, что вы видите на экране монитора – Лара Крофт из «Расхитительницы гробниц», сообщения голосовой почты, факсы, документы, напечатанные с использованием тридцати семи различных шрифтов – просто–напросто телеграммы, только более длинные и требующие более сложных арифметических операций.
Чтобы лучше понять, о чем идет речь, запустите веб–браузер, зайдите на какой?нибудь сайт и выберите в Меню пункт «Вид» / «Исходный код страницы» (View/Document Source). Вы увидите несколько страниц программного кода:
<HTML>
<HEAD>
<TITLE>Welcome to the Avon Books Homepage</TITLE>
</HEAD>
<MAP NAME="left0199">
<AREA SHAPE="rect" COORDS="16,56,111,67" HREF="/bard/"><AREA SHAPE="rect" COORDS="14,77,111,89" HREF="/eos/"><AREA SHAPE="rect" COORDS="17,98,112,110" HREF="/twilight/"><AREA SHAPE="rect" COORDS="18,119,112,131" HREF="/avon_user/category.html? category_id=271"><AREA SHAPE="rect" COORDS="19,140,112,152" HREF="http://www.goners.com/"><AREA SHAPE="rect" COORDS="18,161,111,173" HREF="http://www.spikebooks.com/"><AREA SHAPE="rect" COORDS="2,181,112,195" HREF="/avon_user/category.html? category_id=277"><AREA SHAPE="rect" COORDS="9,203,112,216" HREF="/chathamisland/"><AREA SHAPE="rect" COORDS="7,223,112,236" HREF="/avon_user/search.html"></MAP>
<BODY TEXT="#478CFF" LINK="#FFFFFF" VLINK="#000000" ALINK="#478CFF" BGCOLOR="#003399">
<TABLE BORDER="0" WIDTH="600" CELLPADDING="0" CELLSPACING="0">
<TR VALIGN=TOP>
<TD ROWSPAN="3">
<A HREF="/cgi?bin/imagemap/maps/left.gif.map"><IMG SRC="/avon/images/home/nav/left0199.gif" WIDTH="113" HEIGHT="280" BORDER="0" USEMAP="#left0199"></A></TD><TD ROWSPAN="3"><IMG SRC="/avon/images/home/homepagejan98/2ndleft.gif" WIDTH="144" HEIGHT="280" BORDER="0"></TD><TD><A HREF="/avon/about.html"><IMG SRC="/avon/images/home/homepagejan98/aboutavon.gif" ALT="About Avon Books" WIDTH="199" HEIGHT="44" BORDER="0"></A></TD><TD ROWSPAN="3"><A HREF="/avon/fiction/guides.html"><IMG SRC="/avon/images/home/feb98/right1.gif" ALT="Reading Groups" WIDTH="165" HEIGHT="121" BORDER="0"></A><BR><A HREF="/avon/feature/feb99/crook.html"><IMG SRC="/avon/images/home/feb99/crook_text.gif" ALT="The Crook Factory" WIDTH="165" HEIGHT="96" BORDER="0"></A><BR><A HREF="http://apps.hearstnewmedia.com/cgi?bin/gx.cgi/AppLogic+APPSSURVEYS Questionnaire? domain_id=182&survey_id=541"><IMG SRC="/avon/images/home/feb99/env_text.gif" ALT="The Envelope Please" WIDTH="165" HEIGHT="63" BORDER="0"></A></TD></TR>
<TR VALIGN=TOP><TD><IMG SRC="/avon/images/home/feb98/main.gif" WIDTH="199" HEIGHT="182" BORDER="0"></TD></TR><TR VALIGN=TOP><TD><A HREF="/avon/feature/jan99/sitchin.html"><IMG SRC="/avon/images/home/jan99/sitchin_text.gif" WIDTH="199" HEIGHT="54" BORDER="0"></A></TD></TR><TR VALIGN=TOP><TD COLSPAN="4"><IMG SRC="/avon/images/home/jan99/avon_bottom_beau.gif" WIDTH="622" HEIGHT="179" BORDER="0" USEMAP="#bottom"></TD></TR><TR><TD ALIGN=CENTER VALIGN=TOP COLSPAN="4"><FONT SIZE="2" FACE="ARIAL, COURIER"><PRE>
</PRE><A HREF="/avon/ordering.html">How to order</A>|<A HREF="/avon/faq.html#manu">How to submit a Manuscript</A>|<A HREF="mailto:avonweb@hearst.com">Contact us</A>|<A HREF="/avon/policy.html">Privacy Policy</A></FONT>
<P>
</FONT></TD>
</TR>
</TABLE>
</BODY>
</HTML>
Название этой хрени – HTML (Hyper Text Markup Language – язык разметки гипертекста). HTML — простейший язык программирования для создания веб–страниц. Научиться программировать на нем — раз плюнуть, поэтому многие люди только на нем программировать и умеют. Главное не забывать, что какие бы прекрасные страницы они не создавали, HTML–файлы – всего лишь телеграммы, не более.
Когда Рональд Рейган работал спортивным обозревателем на радио, он получал информацию о проходившем на стадионе бейсбольном матче в виде коротких сообщений, которые по телеграфным проводам передавались на телетайп, а затем распечатывались на бумажной ленте. Рейган сидел в обитой звуконепроницаемым материалом комнатке один на один с микрофоном, а медленно выползавшая из аппарата лента с чуднЫми аббревиатурами змеилась в его ладонях. Когда игра достигла апогея, Рейган, словно всё происходило на его глазах, комментировал: «Вот дюжий крепыш–отбивающий, утирая пот со лба, готовится к подаче. Судья на домашней базе приводит в порядок поле…» и так далее. Когда тайнопись сообщала об особо удачном броске, после которого мяч прямиком попадал на базу, Рейган, имитируя звук дугообразного полета мяча, звонко щелкал ручкой по краю стола. Слушатели, многие из которых простодушно верили, что Рональд Рейган действительно находится на трибуне стадиона и воочию следит за игрой, рисовали с его слов в воображении картины матча.
Точно по такому же принципу работает и всемирная паутина, только вместо лаконичных бумажных сообщений — HTML–документы, вместо Рональда Рейгана — веб–браузер. В принципе, точно так же работает и графический пользовательский интерфейс.
Операционная система – это безграничное множество метафор и абстракций, стоящих между пользователем и телеграммами, а также различные программерские фигли–мигли, с помощью которых разработчики превращают нужную информацию — фотографию, почтовое сообщение, фильм или печатный документ — в драгоценное ожерелье байтов, единственно доступных компьютеру для понимания. Когда мы работали с самым настоящим телеграфом (телетайпом) или с их высокотехнологичными приемниками («стеклянными телетайпами» и командной строкой MS?DOS), мы общались с компьютером практически напрямую. Теперь же роль посредников взяли на себя современные операционные системы, и, чтобы общаться с ними на одном языке, мы вынуждены использовать метафоры и абстракции.
С появлением MacOS грянула революция. Быстрый и коренной переворот — явление всегда неоднозначное, и данная революция также имела две стороны — хорошую и не очень. Конечно, никто не спорил, что оценить всю прелесть командной строки дано не каждому, и, разумеется, идея приобщить к компьютерам менее продвинутую часть населения ни у кого нареканий не вызывала. Хотя не стоит забывать и о коммерческой составляющей — рынок сбыта для обычных пользователей являл собой непаханое поле, настоящее Эльдорадо, и вряд ли разработчики Macintosh этого не понимали. Они наверняка кричали от восторга: «Долой байтовые массивы! Viva la revolution! Отречемся от старого мира! Полный вперед!». В результате, командной строки на Macintosh–ах не было и в помине, и общение с компьютером происходило либо с помощью мыши, либо не происходило вовсе. Такое вот чисто революционное «мы наш, мы новый мир построим…». Похоже, в Apple решили забыть о командной строке, как о дурном сне.
Я полюбил Macintosh весной 1984 года. Произошло это в городе Сидар–Рапидс, штат Айова, в компьютерном магазине, где мой товарищ (и совершенно случайно сын того самого владельца MGB) продемонстрировал мне потрясающий воображение «маковский» графический редактор MacPaint. Я разлюбил Macintosh в июле 1995 года, когда попытался сохранить файл огромных размеров и важности. Вместо этого компьютер безжалостно уничтожил все данные, так что две совершенно разные утилиты восстановления дисков не смогли обнаружить никаких следов их существования. Какая чёрная неблагодарность! И это после десяти долгих совместных лет жизни, немыслимых без моей обожаемой MacOS. Конечно, тогда она казалась мне единственной и неповторимой. Но сейчас, хоть мне и больно это сознавать, я понимаю, что со своей привязанностью к MacOS был ничем не лучше шизанутого отца своего друга с его безрассудной преданностью к MGB.
После выхода Mac компьютерный мир раскололся на два враждебных лагеря. Одни считали ГПИ блестящей идеей, призванной свершить небывалый революционный переворот в человеческом обществе и сделать компьютеры доступными всем и каждому. Другие восприняли ГПИ как личное оскорбление, аудиовизуальную обманку, придуманную безумными калифорнийскими хакерами, дабы лишить компьютеры их силы и могущества, а великий и величественный труд программистов свести к нелепой ребячьей видеоигре.
Оглядываясь назад, должен признать, что сейчас препирательства вокруг ГПИ кажутся мне довольно любопытными, однако в 80–х они меня почти не интересовали. Страсти более–менее улеглись, когда в бой вступила Microsoft и бабахнула своим ГПИ – первой версией Windows. Сторонников командной строки тотчас заклеймили замшелыми, вечно недовольными пнями. Но разгорелся новый конфликт, на сей раз между приверженцами MacOS и пользователями Windows.
Причин для споров и у тех, и у других имелось в избытке. Macintosh почти с самого начала разительно отличался от других персональных компьютеров, он состоял из одного монолитного блока, объединяющего центральный процессор, ЦПУ (компонента компьютера, который выполняет арифметические операции над битами), и монитор. На тот момент подобная сборка отражала философию Apple – персональный компьютер должен стать таким же простым в использовании бытовым прибором, как тостер. Однако заявленная простота, в свою очередь, потребовала графического пользовательского интерфейса. В компьютерах с ГПИ микросхемы вывода на экран действуют согласованно с центральным процессором (ЦПУ). ГПИ требует гораздо более серьезной интеграции ЦПУ и графической подсистемы, чем командная строка, которая лишь совсем недавно осознала, что больше не работает с телетайпом.
Различия между ГПИ и командной строкой носили как технический, так и абстрактный характер, однако наиболее ярко они проявлялись, когда компьютер ломался (и тогда вы наконец?то понимали принцип его работы!). Если система рушилась ко всем чертям, а ЦПУ извергал хаотичный набор битов, на экране компьютера с командной строкой появлялись идеально сформированные, но содержащие полнейшую ахинею строки, известные знатокам как «кириллическое безумие». Но экран монитора для MacOS не телетайп, а место вывода графических изображений, то есть битовых массивов, где каждый пиксель отображает соответствующий бит памяти. Поэтому когда компьютер сходил с ума и записывал в видеопамять немыслимую тарабарщину, на дисплее появлялись помехи, слегка напоминавшие рябь, бороздящую экран сломавшегося телевизора, – так называемый «снегопад».
Данные различия только усугубились с выходом Windows. Когда падала «винда», вместо радужного графического интерфейса на экране всплывала старая добрая командная строка; словно асбестовый занавес, защищающий театральную сцену от пожара, она спасала систему от полного краха. Когда «умирал» Mac, на дисплей выпрыгивала мультяшная бомбочка, и – всё. В первый раз смешно, во второй — не особо.
Так что, согласитесь, копья в спорах ломались не зря. «Откат» Windows к командной строке в случае серьезного системного недуга убеждал адептов Mac–а в том, что Windows – всего–навсего прикрытие, кричащей расцветки плед, наброшенный на колченогий, траченный молью диван. Их сводила с ума и не давала покоя мысль, что под внешне якобы дружественным интерфейсом Windows скрывалось второе дно — совершенно иной способ взаимодействия с пользователем.
Фанаты «винды», со своей стороны, наверное, с сожалением признали, что все компьютеры, даже Macintosh, имеют такое же второе дно, и если владельцы Mac–ов не желают признавать очевидное, то, видимо, они хотят (жаждут!) оставаться в дураках и неведении.
Так или иначе, но чтобы поддерживать ГПИ, инженерам Macintosh требовалось постоянно изменять содержимое видеопамяти. Причем, а) быстро, б) в заранее непредсказуемом порядке. Это сейчас, с современной аппаратной базой, все легко и просто, а в начале 80–х, на основе имевшихся тогда технологий, корпорация могла осуществить задуманное лишь одним способом – создать такую материнскую плату (с ЦПУ) и такую видео систему (отображавшую на экране биты памяти), которые бы являлись единым и неделимым целым. Поэтому запаянное в герметичный блок единое целое и стало визитной карточкой Macintosh.
Все версии ОС Windows (даже снискавшие популярность Windows 95 и Windows NT) поражали своим уродством — не на что даже глаз положить. Полнейшее отсутствие эстетического вкуса у корпорации Microsoft позволяла нам, почитателям Mac, высоко задирать нос. Но то, что Windows выглядела как гнусный и наглый закос под MacOS, выводило нас из себя, мы не желали иметь ничего общего с плагиаторами. На какое?то время истинные знатоки и любители компьютеров — хакеры (в самом лучшем, в стиле Стивена Леви, смысле этого слова), профессиональные музыканты, художники–оформители и школьные учителя (капля в море!), отдали свои сердца Macintosh — единственному настоящему компьютеру! Macintosh являл не только последнее слово инженерной мысли, он воплощал в жизнь наши идеализированные представления об использовании высоких технологий на благо человечества. На его фоне Windows казалась жалкой грубой подделкой, притязающей на мировое господство. Так вот и повелось с самого начала – люди презирают корпорацию Microsoft (далеко не самую худшую, кстати), однако внятно объяснить, почему они ее презирают, не могут. В конце концов, презрение оборачивается против них самих.
Классовая борьба. Поле битвы — рабочий стол
Теперь, когда наш паровоз уверенно, набирая обороты, летит вперед, неплохо бы освежить в памяти то, что мы уже знаем. Итак, корпорация Microsoft, как и любая другая коммерческая организация, вращается на рынке ценных бумаг и берет у определенных людей (акционеров) взаймы очень немаленькие деньги, пытаясь с их помощью остаться на плаву в мире битов и байтов. Поэтому у главы Microsoft Билла Гейтса всего одна — но зато какая! — обязанность – увеличивать доход фирмы всеми мыслимыми и немыслимыми способами. И с данной задачей Билл Гейтс справляется великолепно. Любое деяние фирмы Microsoft, например, созданное ею программное обеспечение – всего лишь эпифеномен, побочное, незначительное явление, существующее лишь благодаря тому, что Билл Гейтс виртуозно исполняет всего одну — но зато какую! — обязанность.
Да, Microsoft выпускает безобразный, часто ломающийся «софт», но это вовсе не означает, что в фирме работают исключительно слабоумные профаны. На самом деле на бесподобных руководителей компании нашло озарение: выяснилось, что продажа несовершенного, непривлекательного изделия приносит акционерам гораздо бОльшую прибыль, чем реализация безупречного во всех отношениях продукта. Такой подход к делу раздражает, но не более. До белого же каления вас доводит Apple, который на ваших глазах нещадно и безостановочно разрушает своё собственное творение.
Сеть кишмя кишит недругами Microsoft, которые делятся на две категории: одних возмущает всевластие и засилье корпорации, другие презирают ее за убожество и пошлость. Всё это чертовски напоминает время расцвета коммунистических и социалистических идей, время, когда все вокруг — и пролетарии, и интеллигенты — ненавидели буржуазию. Первые за то, что буржуи владели деньгами, вторые за то, что они тратили деньги на всякую дрянь. Соответственно, и Microsoft–у, как современному нуворишу мира высоких технологий (попросту говоря, буржую) тоже достается на орехи.
За примерами далеко ходить не надо, вспомните хотя бы экранную заставку Word 6.0 от Microsoft — дорогущую эмалированную самописку, лежащую на великолепных, явно ручной выделки, листах бумаги. По всей видимости, разработчики старались придать текстовому редактору шарм и обаяние, и кто?то, несомненно, клюнул на их удочку, но только не я; я шариковые ручки не люблю, предпочитаю перьевые. Если бы заставку придумывали дизайнеры Apple, они бы поместили на экран изящную перьевую ручку фирмы Mont Blanc, а, может, даже китайскую кисточку для каллиграфии. Чувствуете разницу? Недавно я переставлял Windows NT на одном из своих домашних компьютеров, и вынужден был немереное количество раз кликнуть по иконке «Панель управления». Затрудняюсь даже предположить, что стукнуло в голову разработчиков и почему они изобразили её в виде молотка–гвоздодера, а папку с файлами увенчали не то отверткой, не то стамеской.
Созерцая подобного рода безвкусицу, так и тянет от души поиздеваться над Microsoft, однако, повторюсь, самой Microsoft от этого ни тепло, ни холодно. Я почти уверен, что если фирма собирала фокус–группу, дабы определиться с наиболее подходящим дизайном, то наверняка какой?нибудь менеджер остался более чем доволен шариковой ручкой, так как перьевая вызывает у него ассоциации с представителями руководящего звена — кичливыми и спесивыми трутнями. А славный лысеющий малый, на плечи которого взвалили работу по установке и поддержке домашних компьютеров, возможно, проголосовал именно за молоток–гвоздодер, ибо спит и видит, как берет его в руки и со всей дури обрушивает на корпус норовистого упрямца — компьютера.
Только так я и могу объяснить ту странность, что около девяносто процентов покупателей сметает с лотков Microsoft универсалы и не обращает никакого внимания на отдающиеся задаром танки, припаркованные на другой стороне дороги.
Как только Билл Гейтс понял, что к чему, ему не составило особого труда разложить строку из нулей и единиц по полочкам. Гораздо сложнее оказалось ее продать, внушить покупателю, что, потратив на неё деньги, он получит нечто стОящее.
Любой, кто хоть раз в жизни покупал, а затем устанавливал программное обеспечение, хорошо помнит всю ту разнообразную гамму эмоций и чувств, которую при этом испытывал. Вначале вас снедает любопытство, вы бережно несете домой заветную коробочку, где затем нетерпеливо разрываете упаковку, с яростью выбрасываете кучу ненужного хлама, рекламные буклеты, какую?то мишуру, и наконец?то добираетесь до диска и загружаете его в компьютер. И тут наступает разочарование, так как ничего интересного, кроме парочки новых заставок да нескольких возможностей, которых не было ранее, на компьютере так и не появилось. Иной раз не появляется даже этого, а на экране высвечивается сообщение об ошибке. В итоге деньги потрачены, никто их вам не вернет, а диск пылится на полке. Это сейчас мы ко всему привыкли, а двадцать лет назад не каждый осмелился бы торговать подобным товаром. Билл Гейтс решился и не прогадал. Причем продавал он далеко не самый лучший программный продукт и предлагал его далеко не по самой бросовой цене. Просто каким?то чудесным образом он сумел внушить людям, что за свои деньги те приобретают действительно нечто стОящее.
Любая улица любого города мира запружена неповоротливыми громыхающими универсалами. Человеку без универсала становится чуть–чуть не по себе. «Может, хватит уже плыть против течения? — время от времени беспокойно думает он. — Может, мне тоже прикупить себе один такой?» Кто?то идёт и — покупает, и тоже начинает считать, что приобрел нечто стОящее и значимое, даже если это «нечто» через пару дней работы беспомощно повисает на подъемнике автомастерской.
Все вышеизложенное прекрасно укладывается в теорию о буржуазной сущности Microsoft и объясняет, почему в Сети на корпорацию постоянно нападают с разных сторон. Бедные и несчастные видят в делах и созданиях Microsoft зловещий умысел, достойный пера Оруэлла. А интеллектуалы и продвинутые юзвери бьются в конвульсиях, проклиная «тупизну» Windows.
Ничто так не раздражает образованных и не лишенных вкуса людей, как погрязший в роскоши богач, даже не подозревающий, насколько он пошл и низок, пока до них вдруг не доходит, что презренный богатей в полной мере осознает и свою пошлость, и свою низость, однако плевать хотел на мнение окружающих; более того, он и далее собирается оставаться таким же богатым и — счастливым. Именно поэтому между Microsoft и интеллектуальной элитой Кремниевой долины сложились такие же отношения, как между фермерской семейкой Клампетсов, волею судеб попавшей в Беверли Хилз, и суетливым мистером Дрисдейлом, живущим неподалеку. Не то чтобы мистера Дрисдейла так уж возмущало соседство бок о бок с неотесанной деревенщиной, его спокойный сон омрачен совсем по другим причинам – когда тупоголовому мужлану Джетро исполнится семьдесят, он всё так же будет щеголять в мешковатых штанах и нести околесицу, а его состояние по–прежнему будет стократно превосходить состояние мистера Дрисдейла.[3]
Даже «железо», на котором работает Windows, в подметки не годится аппаратным средствам Apple. Дерьмо несусветное. А всё очень просто: Apple — компания, которая специализируется на «железе», Microsoft – компания, выпускающая «софт». Apple владела исключительными правами на аппаратную часть компьютеров с MacOS, а «железо», совместимое с Windows, свободно продавалось в любом компьютерном магазине. И тогда, похоже, торговцы пришли к выводу, что на стильных, элегантных компьютерах особо много не заработаешь. Поэтому фирмы–разработчики аппаратного обеспечения, нанимавшие дизайнеров, дабы придать компьютерам лоск и изящество, оказались на голову разбиты клоноделами–тайванцами, клепавшими однотипные коробки–системники, унылые и однообразные, словно шлакобетонные блоки. Однако Apple это не испугало, компания продолжала создавать «железо» по своему (и только своему) нраву и заряжать на него немыслимые цены — одурманенных поклонников Apple (и меня в том числе) ничто не могло остановить. Неделю назад (а пишу я эти строки в начале января 1999 года) все до одной газеты пестрели угодливыми статьями, провозглашающими выход «компьютера новой эры» iMac в никогда доселе невиданных расцветках – иссиня–черной и оранжевой.
Apple всегда тщательно оберегала и сохраняла монополию на «железо». Правда, в середине 90–х она позволила поставщикам шлакобетонных блоков немного поконкурировать с собой, но вскоре напрочь изгнала их с рынка. Следовательно, аппаратное обеспечение Macintosh стоило дорого. При этом самостоятельно вскрывать системный блок пользователю не дозволялось, он лишался гарантии. Поэтому когда компьютер выходил из строя, оставалось воздевать руки к небу и посыпать голову пеплом. Первые Mac–и специально создавались ужасно неприступными, и разобрать корпус можно было только с помощью невероятно «офигительного набора отверток». А чтобы приобрести этот набор, приходилось внимательно следить за набранными мелким шрифтом объявлениями, которые, спустя несколько месяцев после выхода Mac–ов, появились на последних страницах журналов. От подобных объявлений всегда веяло чем?то сомнительным, слишком уж напоминали они предложения купли–продажи отмычек, размещенные на последних полосах мрачно–аляповатых детективных альманахов.
Почему Apple так настаивает на этой монополии? Предлагаю вам три различные точки зрения.
Дружелюбная точка зрения – Apple стремится обеспечить пользователя единым и неделимым продуктом, совмещающем в себе и аппаратный комплекс, и операционную систему, и программное обеспечение. Зерно истины в таком подходе есть. Безумно трудно заставить ОС безупречно работать даже на том «железе», которое для неё специально разработано и протестировано инженерами, работающими в соседних отделах одной компании. А заставить ОС запускаться на привередливом «железе», наспех состряпанном предприимчивыми клоноделами по другую сторону океана, — занятие и вовсе неблагодарное, поэтому пользователям Windows остается только посочувствовать, головной боли у них хватает.
Экономически обоснованная точка зрения – Apple, в отличие от Microsoft, как была, так и остается компанией, специализирующейся на «аппаратном обеспечении». И выживание компании напрямую связано с доходом, который она получает от продажи «железа».
Не особо дружелюбная точка зрения – мировоззрение корпорации Apple зиждется на занимайтесь–любовью–а-не–войной культуре хиппи из Сан–Франциско.
Раз уж я собираюсь сказать пару слов о культуре, то, дабы избежать обвинений в моральном разложении и намерении спровоцировать конфликт, сразу же расставлю точки над «и». Во–первых, я — угрюмый зануда из Сиэтла, поэтому к «вечно молодым и вечно пьяным» калифорнийцам отношусь довольно скептически (в свою очередь, калифорнийцы к таким, как я, северянам, тоже особых симпатий не питают). Во–вторых, родился я позже безумного демографического взрыва, который случился сразу после Второй Мировой войны, и никаким «дитём цветов» себя не ощущаю. Я не понимаю, в чём прикол — сидеть на полу и с блаженной улыбкой на устах делиться тупыми (аж зубы сводит) историями о том, кто, где, когда и с кем чего накурился или хвастать великой музыкой, которую кто?то где?то когда?то играл. И всё же, невзирая на весь мой скепсис, иногда эти истории наталкивают на интересные мысли. Так, на ум приходит одно предание, настоящая леденящая кровь страшилка о том, как один человек ушёл жить в хипповскую коммуну и вдруг обнаружил, что все эти цветочки, пацифики, хайратники – показуха, прикрытие, и на самом деле коммуной управляют повернутые на власти люди, для которых вся эта «бла–бла–бла» насчет мира, любви и гармонии — пустой звук. И никто, вступивший в коммуну, не имеет права вернуться назад в нормальный, цивилизованный мир и освободиться из?под гнета и всевластия этих отмороженных безумцев, а если кто и решится – страшно даже представить, что ждет его на пути к свободе.
Ответ на вопрос: «Какое отношение данная байка имеет к корпорации Apple?» я оставлю на совести читателя. Не так уж трудно сообразить.