В университете был только один курс, где я по-настоящему блистал, и это была вычислительная техника, то бишь программирование.
Первое крупное поражение Кена: высшая математика
В те дни написание программного кода выглядело совсем иначе, чем сейчас. Я даже не видел компьютер, для которого программировал. Вместо этого нас усаживали в комнату с несколькими «устройствами подготовки данных» (УПД)[3] – мы жали на клавиши, устройства пробивали дырки в перфокартах. А потом нужно было отнести готовую пачку карт в специальное окошко, где с ними дальше работал какой-то невидимый оператор компьютера. В корзину для бумаг скидывали распечатки с ошибками компилятора или результатами работы вашей компьютерной программы, если она изволила выполниться.
Устройство подготовки данных
Чтобы написать код, мне нужно было сесть за клавиатуру УПД и набрать на этой клавиатуре компьютерную программу – по одной строке за раз. Каждая строка, которую я набирал, заполняла одну перфокарту.
Перфокарта (максимум 80 знаков на каждой карте)
Компьютерная программа представляла собой стопку перфокарт – иногда несколько сотен. Если я писал программу дома, мне нужно было приехать в университет, набрать программный код на перфокартах, передать готовую стопку карт в окошко оператору, а затем вернуться через несколько часов, чтобы проверить, работает ли программа.
По вечерам после учебы я работал. Каждый вечер, часто по многу раз за вечер, мы с Робертой заезжали в университет, чтобы посмотреть, успешно ли выполнилась моя программа. Я заглядывал в корзину с компьютерными распечатками, надеясь найти хоть одну с моим именем. Иногда мы с Робертой часами сидели и ждали, пока программа выполнится, а потом выяснялось, что я где-то допустил небольшую ошибку, и мне нужно было заменить какую-то перфокарту в стопке и снова отдать стопку оператору, и опять долго ждать результатов.
Звучит примитивно? Так оно и было. Программирование было многочасовым делом, над которым нужно было корпеть днем и ночью. Чтобы отладить программу, надо было посмотреть распечатку, которую я получал через несколько часов после того, как передал стопку перфокарт оператору. Приходилось держать несколько раздельных коробок с перфокартами для разных программ. Часто получалось так, что я отправлял свою программу оператору, ждал четыре часа, приезжал в университет и обнаруживал, что по оплошности допустил опечатку в какой-нибудь малоизвестной команде. Это значило, что мне нужно быстро исправить ошибку и заново подать перфокарты оператору – и я терял несколько часов. Но мне было все равно! Среди всех занятий в мои студенческие годы это было самое интересное.