Дрожа от возбуждения, я отнес книгу домой и штудировал ее, пока не выучил вдоль и поперек. Спустя неделю и 150 страниц я уперся в стену; руководство описывало, как писать команды, но никак не поясняло, что они делают с компьютером. Я снова пришел к Расселлу и сказал:

– Я не понимаю.

Расселл (с озорным блеском в глазах) ответил:

– Ага, тебе стоит прочесть вот это, – и протянул мне еще 150 страниц в пластиковой обложке: справочник по системе.

Я с трудом одолел текст и понял, что чего-то по-прежнему не хватает. Ужасно не хотелось беспокоить Расселла, но я снова пошел к нему и сказал:

– Я все равно не понимаю. Как можно послать символы на телетайп?

Расселл ответил:

– Ну да, тебе нужно еще кое-что.

Он вынес что-то, что показалось мне телефонным справочником: это было руководство по операционной системе. Я до сих пор не могу решить: кормил меня Расселл с ложечки или морочил голову; мне нужны были все три справочника. Мне потребовалось еще несколько недель, чтобы начать делать первые шаги в Ассемблере, – и месяцы, чтобы обрести уверенность.

– Это просто фантастика, – сказал я Биллу и остальным.

Но они завязли в своих языках высокого уровня, на которых программы можно писать быстрее. И я продолжал в одиночку.

В отличие от Бейсика или Фортрана, где в каждой команде объединяется несколько инструкций, Ассемблер – прямое, точное представление двоичного машинного кода, превращенное в текст и символы, которые легче запомнить, чем последовательности нулей и единиц. Например, строчка на Бейсике выглядит так:

А = В + С

На Ассемблере та же самая команда пишется так:

Load B.

Add C.

Store in A.

(Загрузить В. Прибавить С. Сохранить результат в А.)

Ассемблер был менее выразительным и гораздо более трудоемким, чем Бейсик. И если программы, написанные на языках высокого уровня, можно исполнять на разных процессорах почти без изменений (это похоже на близкие диалекты), для каждой аппаратной платформы был свой Ассемблер – и они отличались друг от друга, как немецкий и португальский. С другой стороны, загруженный в машину код Ассемблера исполнялся в сотни раз быстрее. Вы обращались прямо к аппаратному обеспечению, непосредственно к «железу». Быстрее просто некуда.

В Лейксайде школьный товарищ однажды сказал, что я читаю коды Ассемблера, как другие читают романы; не думаю, что это было очень легко. Просто я выбрал область для приложения сил. Я начал понимать, как работает компьютер, на самом фундаментальном уровне. Я залез в машинные потроха.

Ничто не вечно под луной, и настал день, когда CCC завершила тестирование PDP-10 и начала брать с нас деньги за машинное время. Поскольку средства «Клуба матерей» истощились, школа заключила контракт с CCC. К тому времени у нас были индивидуальные учетные записи (до сих пор помню их номера: у меня 366-2634, у Билла – 366-2635). CCC выставляла счета на основе сложной формулы, учитывающей время работы центрального процессора и использование диска; мы постоянно переживали, что тратим слишком много. Каждый месяц, прежде чем отправить нашим родителям счет, Фред Райт вывешивал над телетайпом список – по убыванию величины задолженности; и оставалось только молиться, чтобы твоя фамилия не оказалась в первой тройке. Я похолодел от ужаса, поставив рекорд в 78 долларов (сейчас это примерно 500). Как я это объясню? К чести папы, он воспринял известие спокойно:

– Это много, Пол. Я знаю – ты учишься, но мог бы ты сократить расходы?

Мои родители считали программирование моим очередным увлечением – вроде ламповых приемников или печатания фотографий в темной комнате, только гораздо необычнее. Родители Билла думали так же. Мы чувствовали, как истощается их терпение.

В конце весны мы с Биллом заполучили в CCC пароль администратора и вошли в систему в Лейксайде. Вскоре мы обнаружили, что искали: внутренний учетный файл компании – ACCT. SYS. Информация в нем была зашифрована, но мы знали, что там содержатся данные и платных, и бесплатных учетных записей. Мы рассчитывали найти бесплатную учетную запись и пользоваться ею; было понятно, что это нехорошо, но нам позарез требовался беспрепятственный доступ. После тщетных попыток найти специальную программу, которая могла бы читать и исправлять ACCT. SYS, мы скопировали его в свои директории, чтобы разобраться позже.

Но разбираться не пришлось. Через несколько дней нас вызвали в кабинет Фреда Райта, где, к нашему удивлению, оказался Дик Грюн и еще один работник CCC – угрюмый мужчина в темном костюме. Мы надеялись отделаться простой нотацией, ведь мы еще ничего толком не сделали. Но тут суровый мужчина заявил, что манипуляции с коммерческими учетными записями – «преступление». Мы с Биллом затрепетали. Нас исключат из школы?

Все оказалось гораздо хуже.

– Вы украли учетный файл, и мы выгоняем вас, – заявил мужчина в костюме.

Наши права в CCC были аннулированы на лето. Мы потерпели полный крах.

Перейти на страницу:

Похожие книги