Звездные часы Xerox PARC
Юрий Ревич
Дату и место создания первого ПК указать невозможно, так как претендентов на звание первого слишком много. В их число, кстати, можно включить и "Мир-1" В. М. Глушкова (1965). Но все же первым настоящим, без скидок, персональным компьютером следует считать Xerox Alto.
Точкой роста огромного количества идей, ставших впоследствии общепринятыми, в 70-е годы стал Xerox Palo Alto Research Center (Xerox PARC), возникший на рубеже 60–70 годов. Его лаборатории занимались свойствами материалов, лазерной физикой, интегральными схемами, системами CAD. В области собственно компьютеров там работали над сетями, базами данных, операционными системами, языками программирования, графическими системами, системами подготовки документов и проблемами искусственного интеллекта. У этой организации особая судьба. Корпорация Xerox к тому времени добилась всемирной известности, став почти монополистом в области копировальной офисной техники и решила диверсифицировать свой бизнес, распространив его в область зарождающихся массовых компьютерных технологий. Впрочем, что именно нужно делать в первую очередь, тогда точно не знал никто. Xerox собрала под одной крышей талантливую молодежь из университетских леваков, не желавших по политическим соображениям работать на правительство (это были годы разгара молодежного движения протеста, получившего потом название "революции 60-х"), и обеспечила ей относительную свободу. Это был правильный выбор. Обстановка богемы доставила немало головной боли администрации, но и весьма способствовала возникновению огромного количества передовых идей. Одной из таких идей была так называемая парадигма WIMP (Windows, Icons, Menus, Point-and-click – "окна, пиктограммы, меню, укажи и щелкни"), которая и переросла позже в концепцию GUI и продолжает эксплуатироваться по настоящее время. Эти разработки связывают с именем Алана Кея, который также известен как автор SmallTalk (первого объектно-ориентированного языка программирования) и идеи мультимедийного ПК под названием Dynabook, который рассматривался как медиасредство для пользователя-непрофессионала.
Алан Кей и его коллеги начали с основательного изучения того, что было сделано: в начале 70-х несколько сотрудников центра были командированы в Стэндфордский исследовательский институт (Stanford Research Institute) для работы на Энгельбартовской NLS, а в 1971 г. Xerox заключила с SRI лицензионное соглашение на использование мыши. Фактически именно тогда и возник термин "персональный компьютер", причем с самого начала Алан Кей с сотрудниками не представляли себе этот агрегат в отрыве от сетевого окружения. Такое видение значительно опередило время: фактически в течение двадцати последующих лет развития ПК, до начала 90-х годов, сетевые возможности рассматривались для ПК в лучшем случае как опциональные.
Xerox Alto
Xerox Alto был закончен в 1972 г. Он имел 2,5-мегабайтный жесткий диск (дискеты были изобретены Элом Шугартом из IBM в 1971 г. и к разработке Alto не поспели), от 128 до 256 Кб памяти, графический дисплей 600х800 точек (именно так – для лучшего представления печатных страниц он был развернут в непривычном для нас вертикальном положении) и около 50 Кб быстрой видеопамяти.
Для Xerox Alto был разработан текстовый редактор Bravo, использующий принцип WYSIWYG ("what you see is what you get"). В связи с повсеместным распространением MS Word нам сейчас трудно себе представить систему обработки текстов, которая бы не использовала этот принцип, позволяющий по крайней мере с точностью до масштаба изображения видеть на экране то, что получится при печати. Разве что пользователи со стажем вспомнят какой-нибудь Norton Editor или первые версии очень популярного в России в начале 90-х "Лексикона". Bravo имел возможность отображения на экране жирного, наклонного и подчеркнутого шрифтов, верхних и нижних индексов, изменения начертания и размера символов. Разработка Bravo и его более продвинутого варианта BravoX, использованного в Xerox Star, о котором ниже, связана с именем Чарльза Саймони (Charles Simonyi) – венгра по происхождению, бежавшего из-за "железного занавеса" в начале 60-х. Любопытно, что еще в бытность в Венгрии Саймони начинал свою карьеру программиста на советских компьютерах "Урал-2". Как ни странно, но имя Саймони не слишком широко известно, а ведь он был главным идеологом создания таких не нуждающихся в дополнительной рекламе продуктов, как MS Word и Excel. Именно Саймони заставил империю Гейтса перейти на использование языка Си как основного взамен любительского Бейсика и придумал общепринятую теперь "венгерскую нотацию" для повышения читаемости программ.
Между прочим, не так уж и мало этих компьютеров было сделано: около 2000 экземпляров, которые разошлись внутри самой корпорации Xerox, а также были проданы некоторым исследовательским центрам, университетам и государственным учреждениям. Однако именно тогда Xerox допустила первую свою коммерческую ошибку: настоящая маркетинговая компания для Alto так и не была развернута.
Xerox Star
В 1975 г. в Xerox начали новый проект, закончившийся в апреле 1981 г. представлением системы Xerox 8010 Professional Workstation, более известной под торговой маркой Xerox Star. Вопреки распространенному мнению, Star разрабатывался не в PARC – для проектирования офисных систем в Xerox было создано специальное подразделение Systems Development Department (SDD). Оно располагалось в двух местах – рядом с PARC в Пало-Альто (Кремниевая долина южнее Сан-Франциско), где проводились теоретические исследования, и в местечке Эль-Сегундо неподалеку от Лос-Анджелеса, где находились основные разработчики и мастерские. Для того чтобы сотрудникам не приходилось постоянно ездить туда-сюда, администрация связала филиалы сетью на 56 Кбит/с (технология Ethernet была изобретена в том же Xerox PARC), и сотрудники получили возможность дистанционной работы с использованием электронной почты.
Особенностью Star стало то, что разработка ПО и концепций взаимодействия с пользователем предшествовала разработке "железа", и конфигурация компьютера выбиралась таким образом, чтобы обеспечить беспроблемную работу программ, а не наоборот, как это делалось в дальнейшем, когда программы подгонялись под имеющиеся системы. На разработку изделия, ставшего действительно звездой на общем фоне существовавших тогда персоналок, было потрачено около 30 человеко-лет. Рассмотрим некоторые особенности Star, многие из них стали потом стандартом для индустрии ПК, а некоторые (такие, как ориентированность на работу в сети) намного обогнали свое время.
Star имел ОС с разделением времени, основанную на языке Mesa – диалекте Pascal, разработанном в SRI (Stanford Research Institute) и развитом в Xerox PARC. Для исполнения объектного кода, продуцируемого компилятором Mesa, был сконструирован специальный микропроцессор. Большинство операций, в том числе такие громоздкие, как битовые операции над массивом экранных точек, исполнялись через запуск соответствующих микропрограмм. Star комплектовался: 384 Kб ОЗУ (расширяемого до 1,5 Mб), 10, 29 или 40 Mб жестким диском, 17" (!) монитором, восьмидюймовым флоппи-дисководом, двухкнопочной мышью и 10-Мбит адаптером Ethernet.
Интересно, что для Star даже была разработана оптическая мышь. Не совсем ясно почему (недорогие компоненты для таких целей были доступны еще с 70-х годов), но широкое распространение оптические мыши, лишенные движущихся частей, получили только в конце 90-х. Управление мышью осуществлялось на аппаратном уровне, что исключало ситуации зависания экранного курсора на время, пока процессор занят своими делами – картина, хорошо знакомая всем пользователям РС.
Монитор был монохромным, имел одинаковое разрешение по вертикали и горизонтали, чем выгодно отличался от того же РС. Оконный интерфейс мог настраиваться таким образом, чтобы окна перекрывали друг друга или располагались рядом (помните Windows 3.1?). Принятое неизменное разрешение – 72 точки на дюйм – отвечало разрешению матричного принтера при печати текста, поэтому режим WYSIWYG соблюдался в полной мере.
Основу ПО Star составляли текстовый редактор BravoX с масштабируемыми шрифтами, графический редактор, программа электронной почты и некоторые другие. Одной из уникальных особенностей Star стала возможность создания многоязычных документов, для чего в нем применялась двухбайтовая кодировка символов, позднее развившаяся во всем теперь известную систему Unicode. Система поддерживала английский, немецкий, французский, испанский, итальянский и русский языки. Уже после выхода Star на рынок была реализована поддержка почти всех остальных европейских языков, а также японского, китайского, арабского и иврита. Для вывода документа на лазерные принтеры фирмы Xerox был предусмотрен специальный язык описания страниц, называвшийся Press (позднее – InterPress), родоначальник современного PostScript’а. Такие возможности (наличествовал даже специальный редактор математических формул) превращали Star фактически в первую настольную издательскую систему, правда, без возможности оперировать цветными изображениями. Недаром компания Ventura Software Inc, разработчик профессиональных издательских систем, в 1993 г. влившаяся в Corel, тоже была основана выходцем из команды Xerox PARC Ли Джей Лорензеном (Lee Jay Lorenzen).
В числе прочих инноваций в интерфейсе Star были впервые применены пиктограммы и представление экранного пространства в виде рабочего стола (Desktop). Эта метафора основывается на том, что пользователь якобы не имеет представления о существовании, скажем, программы под названием "текстовый редактор", а просто открывает документ. Альтернативой является концепция инструментов (Tools) или приложений (Applications), в которой пользователь запускает нужный инструмент (приложение), и с его помощью открывает документ, причем тип его идентифицируется обычно по расширению имени файла. Ответственность за результат загрузки файла, например содержащего изображение, в текстовый редактор при этом целиком ложится на пользователя. Разработчики же Star сознательно шли на потерю универсальности, присущую инструментальной модели, в то же время предупреждая об ограниченности сферы применимости метафоры рабочего стола исключительно офисными системами. (Дуглас Энгельбарт позднее иронизировал над таким подходом: "Весь мир был увлечен идеей офисной автоматизации, будучи уверен, что настоящие пользователи компьютеров – это секретари, чьи задачи необходимо автоматизировать") Для платформы РС (уже превратившейся к тому времени в Wintel) рабочий стол был реализован только спустя пятнадцать лет – с появлением Windows 95. Непоследовательное использование Desktop-метафоры может приводить к неоднозначным последствиям: так как первичным признаком для отнесения файла к тому или иному типу в Windows по-прежнему служит расширение его имени, то при случайном переименовании файл может быть просто потерян для непросвященного пользователя. При скрытии расширения, как это происходит по умолчанию в Windows, часто возникает забавная ситуация, когда в одной папке оказываются несколько абсолютно одинаковых с виду документов (например, рисунков), что приводит к недоразумениям – одно дело послать по электронной почте многомегабайтный TIFF, другое – компактный JPEG. В продуманной системе типа Star, где файловая система убрана подальше от пользователя, такие недоразумения, конечно же, были почти исключены, но зато были и недоступны многие преимущества более гибкой инструментальной модели.
Как видно из этого краткого описания, Xerox Star был просто набит прогрессивными новшествами, что называется, под завязку. Можно только позавидовать его разработчикам, которые не связывались никакими маркетинговыми соображениями и выполнили работу от души. "Лучший способ предсказывать будущее состоит в том, чтобы изобрести его", – это знаменитое изречение, которое приписывают Алану Кею, стало девизом разработчиков Xerox. Под стать техническому уровню изделия была и цена – в базовой комплектации Star продавался за $16500 – в пять раз дороже продвинутой персоналки тех времен, например от Apple. Но не сама по себе высокая цена помешала рыночному успеху этого, без сомнения, выдающегося продукта. Star был вещью в себе – на нем не могли выполняться программы сторонних производителей, он не подлежал модернизации, а разработчики исходили из собственного понимания офисных задач и просто не знали о существовании многих проблем конечных пользователей. Сетевая ориентация, предполагающая приобретение нескольких экземпляров, тоже не способствовала популярности изделия – такие возможности были просто не были востребованы в то время. Не зря первый настоящий рыночный успех имел примитивный, но зато дешевый IBM PC. Впрочем, сотрудников Xerox несколько оправдывает то обстоятельство, что этого не ожидали даже сами создатели РС. Кроме того, у Xerox не было никакой продуманной маркетинговой политики – отдел продаж компании, озабоченный в основном торговлей копировальной техникой, плохо ориентировался на компьютерном рынке. Все это вместе взятое и обусловило рыночный провал "Звезды". Фактически получилось так, что компания Xerox бесплатно поработала на мировое сообщество – идеи, заложенные в Star, начали использоваться повсеместно практически сразу после его возникновения, а ведущие разработчики, разочарованные неудачей, оказались либо в Microsoft, либо в Apple, немало поспособствовав успеху и той и другой компании.
Статья опубликована 20.02.2003 г.