Как выяснилось, мой призыв отложили до окончания студенческой отсрочки.
28 мая 1972 года мой друг по Лейксайду, Кент Эванс, с другими альпинистами пересекал снежное поле на горе Шуксан и поскользнулся. Он шел без страховки и, не сумев затормозить, пролетел по склону больше шестисот футов, ударившись несколько раз о скалы. Вертолет ВМС эвакуировал Кента, но он умер по дороге в больницу. Ему было 17.
Эта смерть потрясла Билла, он был раздавлен. Через несколько дней после похорон родители Кента позвали нас посмотреть, не пригодятся ли нам его компьютерные документы – несколько руководств, ничего важного. Мы были благодарны родителям Кента, но чувствовали себя странно, роясь в его вещах. Мы не стали задерживаться надолго.
По контракту со школой Билл за летние каникулы должен был написать на Фортране программу, составляющую расписание.
– Я собирался делать ее с Кентом, – сказал Билл мне. – Одному мне будет трудно. Поработаешь со мной над программой?
Хотя денег обещали не много, я с радостью согласился и вернулся к старой доброй PDP-10. Билл оставался в подавленном состоянии неделями, но приходил в себя по мере того, как мы втягивались в проект – с полной самоотдачей, как когда-то в Макаллистер-холле. Часто мы засиживались за полночь и спали на раскладушках, которые привезли в кампус. Программа оказалась сложной, требовалось учитывать много разных переменных: обязательные курсы, секции, факультативы, сдвоенные уроки для лабораторных работ. Меня восхищало, как четко Билл разбивал работу на составляющие, а еще больше – как он «загрузил» самого себя в группу по английскому: он, десяток девчонок и больше ни одного парня.
Мы с Биллом сблизились в то лето. Разница в возрасте перестала иметь значение; между нами установилось, как я это называю, высокоскоростное соединение. Погружаясь в проблему, мы начинали выщелкивать идеи «в режиме стека» (на компьютерном жаргоне это режим выполнения подпрограмм центральным процессором по принципу «последний пришел – первый ушел»). В наших разговорах эта фраза означала, что мы перескакивали от одной темы к предыдущей, не обращая внимания на последующий контекст. Слушая нас со стороны, понять что-то было невозможно:
– Тогда можно перенести эту строку сюда…
– Верно, если значение – «истина», вторая не выполняется…
– Точно! Мы же в прошлый раз использовали эту переменную.
Много общего было и в том, как мы воспринимали абсурд. Однажды, после и без того почти бессонных ночей, мы несколько часов отлаживали какой-то кусок программы – и не могли поймать ошибку. Билл молча уставился на загадочную страницу и вдруг воскликнул: