«Открытые системы»
Две заметные вехи в жизни выдающегося программиста Чарльза Симони связаны с отечественными технологиями — с ЭВМ «Урал-2» и космическим кораблем «Союз TMA-10»
Основной экипаж «Союз TMA-10» (слева направо): Чарльз Симони, командир корабля Олег Котов, бортинженер Федор Юрчихин |
Пятым космическим туристом, доставленным на Международную космическую станцию, станет Чарльз Симони. Запуск корабля «Союз TMA-10», на котором он полетит, намечен на первую половину апреля. Обычно таких туристов представляют эксцентричными миллиардерами-плейбоями, что в данном случае далеко от действительности. В отличие от большинства известных обладателей огромных состояний, Симони заработал свой капитал в прямом смысле собственными руками и головой: он является одним из самых выдающихся и, вероятно, самым высокооплачиваемым программистом. В Microsoft он дошел до должности главного архитектора корпорации. Билл Гейтс назвал его одним из величайших программистов всех времен и народов. Нет ничего удивительного в том, что обратный отсчет времени до его полета ведется на сайте, посвященном предстоящему запуску, с символическим адресом www.nerdinspace.com («нердами» обычно называют яйцеголовых умников), там же публикуются блоги участников экспедиции, фотографии и много иных занимательных сведений.
И без полета Симони при жизни стал легендой; его путь охватил всю эпоху программирования, от ее первых шагов до самых современных тенденций, и еще к тому же политическую эпоху второй половины XX века во всем ее многообразии. Он полетит под двумя флагами — Венгрии, где родился, и Соединенных Штатов, где провел всю сознательную жизнь. Гениям везет, это факт, вот и у Симони сложилась фантастическая цепочка удач. Сначала его отец, будучи профессором-физиком, помог 15-летнему школьнику устроиться ночным дежурным техником на ЭВМ «Урал-2» в Центральном статистическом управлении. Взрослые пытались использовать машину для оптимизации перевозок, но, естественно, при ее ресурсах (4 тыс. слов памяти) решить подобную задачу было невозможно. А вот для воспитания вундеркинда она подошла идеально. Как любое ламповое устройство, эта ЭВМ была чувствительна к выключениям, поэтому ее оставляли в работоспособном состоянии на ночь, и вот тогда она превращалась в «персональный компьютер» любознательного подростка. Единственным доступным ему способом для ввода программ были регистры, состоявшие из тумблеров (ни перфокарт, ни перфолент на этой модели «Урала» еще не было), правда, была, как ни странно, перфорированная кинопленка, но можно представить, сколько она стоила. Регистры длиной около метра располагались на гигантском центральном пульте и позволяли вводить программу непосредственно в машинных кодах. Именно так Чарльз написал свою первую программу для составления магических квадратов.
«Это был каменный век программирования, — вспоминает Симони, — то, что код операции ?безусловный переход? равен 22, зашит с тех пор в мою ROM». С рациональной точки зрения машина была совершенно бесполезна, но Чарльз ее полюбил: «Восторг, который я испытывал от ?Урала-2? в 1964 году, можно сравнить с тем восхищением, которое испытал Билл Гейтс, познакомившись в 1974 году с Altair».
В дальнейшем Симони деятельно помогал своей удаче, демонстрируя наряду с профессиональным талантом незаурядную предприимчивость. Еще школьником на одной из выставок ему удалось познакомиться со специалистами из Дании и получить информацию об их компьютере и решаемых ими задачах. На следующей выставке он принес им свой вариант программы, затем установилась обратная связь, и в конечном итоге еще не имевшему законченного образования молодому человеку предложили работу в Дании. Как не вспомнить выражение того времени: «Венгрия — самый веселый барак в лагере социализма», ни один советский вундеркинд не мог и мечтать о таком везении. Власти рассчитывали, что юный гений возвратится, но у него были совершенно иные планы. За полтора года ему удалось не только заработать средства для переезда в Беркли, где он смог найти работу в вычислительном центре университета и таким образом оплачивать свою учебу, но и получить рекомендацию от Питера Наура, создателя языка Алгол-60. В Беркли Симони написал удачный вариант компилятора для языка Snobol, после чего Батлер Лэмпсон, совмещавший преподавательскую работу с исследованиями в Xerox PARC, пригласил Симони на работу в эту необычную структуру. Большую удачу, чем попасть в тот легендарный период в Xerox PARC, для иммигранта представить трудно. Ведь именно там в начале 70-х рождалось все то, что определило судьбу компьютерного мира на последующие четверть века: графический интерфейс, локальные сети (Ethernet), лазерный принтер, объектно-ориентированное программирование (Smalltalk), мобильные компьютеры (Dynabook) и, конечно же, прообраз персонального компьютера — компьютер Alto.
Но даже на фоне собранных под крышей Xerox PARC талантов Симони выделялся своими фантастическими способностями к программированию. По-крупному он применил их при создании текстового редактора Bravo, в этом редакторе впервые появился естественный для современного пользователя визуальный режим работы WYSIWIG. И к этому названию приложил руку Симони. Оказывается, оно восходит к прозвищу Wysiwyg, которое получила некто Джеральдина, персонаж известного комика Флипа Уилсона, за то, что она постоянно повторяла фразу What you see is what you get!, то есть «что видишь, то и получишь». В процессе проектирования Bravo Симони разработал методику метапрограммирования, он защитил ее в своей диссертации и затем перенес в более известный редактор Word, когда на основе исследований Xerox PARC создавалась операционная система Windows. Симони принимал участи в разработке и других составляющих Microsoft Office.
Свое состояние Симони использует не только на экзотические развлечения наподобие планируемого полета, в ходе которого он собирается вести блог на сайте, чтобы делиться своими впечатлениями. Его волнуют проблемы несовершенства современного программного обеспечения: по данным Национального бюро стандартов США, они обходятся этой стране в 60 млрд. долл. ежегодно, а в 1991 году во время войны в Заливе программная ошибка привела к падению ракеты Patriot на казарму и гибели 28 американских солдат. Ну а насчет быстродействия программ, которые, по выражению Никлауса Вирта, замедляются быстрее, чем растет скорость процессоров, Симони заявил следующее: «Программы становятся бутылочным горлом на пути цифрового прогресса. Они потребляют огромные ресурсы талантов и времени. Это огорчает, но изменить сложившуюся ситуацию трудно».
Однако Симони не был бы самим собой, если бы смотрел на происходящее пассивно. В 2002 году он ушел из корпорации Microsoft, создав компанию Intentional Softwa?re, название которой можно перевести как «задумываемое» или «замышленное» программное обеспечение. Как большинство подобных компаний, пока она пребывает в «невидимом» режиме.