Шрифт:
Таким образом, в моем расписании оказались занятия по физике, высшей математике и вычислительной технике.
Впервые в жизни я напоролся на преграду, с которой не мог справиться.
Высшая математика оказалась мне не по зубам. Если на занятиях по физике еще было весело, то на высшей математике приходилось решать дифференциальные уравнения. Не то чтобы я не пытался учиться. Это было просто «не мое».
В университете был только один курс, где я по-настоящему блистал, и это была вычислительная техника, то бишь программирование.
Первое крупное поражение Кена: высшая математика
В те дни написание программного кода выглядело совсем иначе, чем сейчас. Я даже не видел компьютер, для которого программировал. Вместо этого нас усаживали в комнату с несколькими «устройствами подготовки данных» (УПД) [3] – мы жали на клавиши, устройства пробивали дырки в перфокартах. А потом нужно было отнести готовую пачку карт в специальное окошко, где с ними дальше работал какой-то невидимый оператор компьютера. В корзину для бумаг скидывали распечатки с ошибками компилятора или результатами работы вашей компьютерной программы, если она изволила выполниться.
3
В оригинале используется словосочетание keypunch machine, клавишный перфоратор, а УПД – это русскоязычный эквивалент его названия в те времена. Устройства подготовки данных (УПД) применялись для подготовки данных на перфоносителях – перфолентах и перфокартах. Оно представляло собой отдельный от компьютера электромеханический прибор с собственной клавиатурой; оператор вводил данные – например код программы – с клавиатуры, и устройство выбивало на перфокарте соответствующие отверстия. – Прим. пер.
Устройство подготовки данных
Чтобы написать код, мне нужно было сесть за клавиатуру УПД и набрать на этой клавиатуре компьютерную программу – по одной строке за раз. Каждая строка, которую я набирал, заполняла одну перфокарту.
Перфокарта (максимум 80 знаков на каждой карте)
Компьютерная программа представляла собой стопку перфокарт – иногда несколько сотен. Если я писал программу дома, мне нужно было приехать в университет, набрать программный код на перфокартах, передать готовую стопку карт в окошко оператору, а затем вернуться через несколько часов, чтобы проверить, работает ли программа.
По вечерам после учебы я работал. Каждый вечер, часто по многу раз за вечер, мы с Робертой заезжали в университет, чтобы посмотреть, успешно ли выполнилась моя программа. Я заглядывал в корзину с компьютерными распечатками, надеясь найти хоть одну с моим именем. Иногда мы с Робертой часами сидели и ждали, пока программа выполнится, а потом выяснялось, что я где-то допустил небольшую ошибку, и мне нужно было заменить какую-то перфокарту в стопке и снова отдать стопку оператору, и опять долго ждать результатов.
Звучит примитивно? Так оно и было. Программирование было многочасовым делом, над которым нужно было корпеть днем и ночью. Чтобы отладить программу, надо было посмотреть распечатку, которую я получал через несколько часов после того, как передал стопку перфокарт оператору. Приходилось держать несколько раздельных коробок с перфокартами для разных программ. Часто получалось так, что я отправлял свою программу оператору, ждал четыре часа, приезжал в университет и обнаруживал, что по оплошности допустил опечатку в какой-нибудь малоизвестной команде. Это значило, что мне нужно быстро исправить ошибку и заново подать перфокарты оператору – и я терял несколько часов. Но мне было все равно! Среди всех занятий в мои студенческие годы это было самое интересное.
Кстати, много лет спустя, когда я уже работал программистом-разработчиком в компании Bekins Moving and Storage, другой программист принес из компьютерного зала мою коробку с карточками, но без распечатки.
– Где моя распечатка? У меня там баг? – спросил я. Коллега ответил: «Да» и открыл коробку. Оттуда выполз таракан [4] . Шутки программистов не всегда понятны людям, далеким от IT.
4
У слова bug есть и прямое значение – «жук», «насекомое». – Прим. пер.
Вместе с супружеством появились счета и ответственность. К моменту, как мы поженились, я закончил только первый курс университета.
Роберта все еще работала, но сказать, что у нас финансовые трудности, значило бы ничего не сказать. Роберта об этой своей работе вспоминает с немалым отвращением. До движения #metoo тогда еще оставалось несколько десятилетий.
Мистер С ‹…›, сальный и толстый немолодой мужчина, наверное, лет сорока или пятидесяти, любил заставлять меня забираться на стремянку, чтобы расставить папки по полкам. Стремянка была приставлена к высокой стене, где полки с папками шли до самого потолка. Я все еще носила короткие платья или юбки (как и большинство девушек в те времена!). Поэтому он и требовал, чтобы я лезла на стремянку и «расставляла папки» на «верхнюю полку», а он в это время стоял внизу и глядел вверх. Еще и замечания всегда делал такие двусмысленные…
Роберта УильямсЧерез несколько месяцев после свадьбы Роберта забеременела нашим сыном Диджеем. Именно эта соломинка и сломала спину верблюда окончательно. Я не мог работать сразу на нескольких работах и очно учиться в университете. Помимо того, что я руководил бригадой, продававшей газеты по домам, и готовил пиццу в заведении с едой навынос, я работал по вечерам и в выходные дни – подметал площадку автокинотеатра, где после машин оставалось достаточно мусора. Приходилось сметать грязные подгузники, попкорн и другие вещи, о которых и рассказывать не хочется.