Миллиардер из Кремниевой долины. История соучредителя Microsoft - Аллен Пол
Глава 4
Братство
Мы с Биллом оказались самыми стойкими среди лейксайдцев в CCC. Обычно отец заезжал за мной на машине, чтобы отвезти домой пообедать. Я хотел остаться – иногда отец разрешал, иногда нет. Родителей беспокоило, что я начал отставать в школе. Стали появляться низкие отметки, и учителя, похоже, не слишком одобряли мое новое увлечение. Оценивая компьютерное программирование, мистер Маэстретти писал: «Пол добился больших успехов. Он проявляет огромный интерес к работе и достиг мастерства, далеко превосходящего… средний уровень». Но по поводу физики, по которой он поставил мне в середине года «С+» (хотя весной я вытянул «А»), он сожалел, что «все силы [мои] направлены на работу с компьютером – за счет других дисциплин».
Учитель по английскому, мистер Тайлер, огорченный моим хроническим безразличием к домашним заданиям, философски заключал: «Пол – фанатик (в старом религиозном смысле слова) и, охваченный энтузиазмом, почти не замечает ничего остального. Как объяснить ученику пагубность его подхода? Не знаю. А может быть, прав именно он, а не мы?»
На самом деле я бурно развивался в профессиональной среде, работая с тем, что мне нравилось. Чего еще желать для шестнадцатилетнего?
Предоставленные сами себе, мы с Биллом корпели над программами, пока не сводило желудок от голода; тогда мы отправлялись через дорогу в заведение под названием Morningtown Pizza. Рядом пристроился ночной магазин – перед ним парковались полицейские машины, а сами полицейские в задней комнате резались в карты. Мы жадно проглатывали пиццу прямо на месте или приносили обратно в CCC – и старались не закапать маслом телетайпы. Мы работали, пока не уходили все, кроме ночного оператора. Однажды я работал один и вовсе потерял счет времени. Автобусы перестали ходить, и было поздно звонить отцу, чтобы он забрал меня; пришлось идти домой пешком – целый час. Меня всю дорогу провожал бродячий пес; потом родители пристроили его нашим знакомым.
Для меня святым Граалем программного обеспечения была операционная система, нервная система компьютера. Она выполняет распределительную функцию, позволяя центральному процессору считать: переключаться от программы к программе; сохранять информацию в файлах; передавать данные на модемы, внешние диски и принтеры. О ней не думаешь, пока не возникнет ошибка и система не рухнет.
В те времена операционные системы не были черными ящиками, как сегодня. Производители поставляли вместе программное и аппаратное обеспечение; любая компания, приобретая компьютеры DEC, могла модифицировать TOPS-10, как считала нужным. Мы с Биллом знали, что наши наставники приобрели исходные коды TOPS-10 и работают над ее улучшением. Мы знали и то, что нам эта задача не по плечу, – и поэтому она манила нас в десять раз сильнее, чем все, над чем мы трудились. По выходным, оставшись вдвоем, мы с Биллом отправлялись копаться в мусорных контейнерах на заднем дворе. Мы открывали металлическую крышку бака, я сцеплял пальцы, чтобы подсадить Билла, – он весил не больше ста десяти фунтов. Билл свешивался в контейнер и тащил все, что казалось привлекательным. После нескольких попыток мы нашли настоящее сокровище: пачку заляпанных и смятых распечаток. Я помню запах кофейных пятен и помню, что подумал: «Не слишком аппетитно, но мне плевать».
Мы отнесли наш клад в терминальный зал и изучали его часами. У меня не было никакого Розеттского камня, и понимал я в лучшем случае пару строк из десяти, но все равно восхищался элегантностью компактного кода. Я знал: чтобы понять архитектуру такой операционной системы, как TOPS-10, необходимо освоить Ассемблер – язык низкого уровня, который обращается непосредственно к машине. Заметив мой интерес, Стив Расселл отозвал меня в сторону, протянул руководство по Ассемблеру в обложке из блестящего пластика и сказал:
– Тебе нужно это прочесть.
В нашем мире с его принципом «сделай сам» можно было больше ничего не говорить.
Дрожа от возбуждения, я отнес книгу домой и штудировал ее, пока не выучил вдоль и поперек. Спустя неделю и 150 страниц я уперся в стену; руководство описывало, как писать команды, но никак не поясняло, что они делают с компьютером. Я снова пришел к Расселлу и сказал:
– Я не понимаю.
Расселл (с озорным блеском в глазах) ответил:
– Ага, тебе стоит прочесть вот это, – и протянул мне еще 150 страниц в пластиковой обложке: справочник по системе.
Я с трудом одолел текст и понял, что чего-то по-прежнему не хватает. Ужасно не хотелось беспокоить Расселла, но я снова пошел к нему и сказал:
– Я все равно не понимаю. Как можно послать символы на телетайп?
Расселл ответил:
– Ну да, тебе нужно еще кое-что.
Он вынес что-то, что показалось мне телефонным справочником: это было руководство по операционной системе. Я до сих пор не могу решить: кормил меня Расселл с ложечки или морочил голову; мне нужны были все три справочника. Мне потребовалось еще несколько недель, чтобы начать делать первые шаги в Ассемблере, – и месяцы, чтобы обрести уверенность.
– Это просто фантастика, – сказал я Биллу и остальным.
Но они завязли в своих языках высокого уровня, на которых программы можно писать быстрее. И я продолжал в одиночку.
В отличие от Бейсика или Фортрана, где в каждой команде объединяется несколько инструкций, Ассемблер – прямое, точное представление двоичного машинного кода, превращенное в текст и символы, которые легче запомнить, чем последовательности нулей и единиц. Например, строчка на Бейсике выглядит так:
А = В + С
На Ассемблере та же самая команда пишется так:
Load <i><b>B.</b></i>
Add <i><b>C.</b></i>
Store in<i><b> A.</b></i>
(Загрузить В. Прибавить С. Сохранить результат в А.)
Ассемблер был менее выразительным и гораздо более трудоемким, чем Бейсик. И если программы, написанные на языках высокого уровня, можно исполнять на разных процессорах почти без изменений (это похоже на близкие диалекты), для каждой аппаратной платформы был свой Ассемблер – и они отличались друг от друга, как немецкий и португальский. С другой стороны, загруженный в машину код Ассемблера исполнялся в сотни раз быстрее. Вы обращались прямо к аппаратному обеспечению, непосредственно к «железу». Быстрее просто некуда.
В Лейксайде школьный товарищ однажды сказал, что я читаю коды Ассемблера, как другие читают романы; не думаю, что это было очень легко. Просто я выбрал область для приложения сил. Я начал понимать, как работает компьютер, на самом фундаментальном уровне. Я залез в машинные потроха.
Ничто не вечно под луной, и настал день, когда CCC завершила тестирование PDP-10 и начала брать с нас деньги за машинное время. Поскольку средства «Клуба матерей» истощились, школа заключила контракт с CCC. К тому времени у нас были индивидуальные учетные записи (до сих пор помню их номера: у меня 366-2634, у Билла – 366-2635). CCC выставляла счета на основе сложной формулы, учитывающей время работы центрального процессора и использование диска; мы постоянно переживали, что тратим слишком много. Каждый месяц, прежде чем отправить нашим родителям счет, Фред Райт вывешивал над телетайпом список – по убыванию величины задолженности; и оставалось только молиться, чтобы твоя фамилия не оказалась в первой тройке. Я похолодел от ужаса, поставив рекорд в 78 долларов (сейчас это примерно 500). Как я это объясню? К чести папы, он воспринял известие спокойно:
– Это много, Пол. Я знаю – ты учишься, но мог бы ты сократить расходы?
Мои родители считали программирование моим очередным увлечением – вроде ламповых приемников или печатания фотографий в темной комнате, только гораздо необычнее. Родители Билла думали так же. Мы чувствовали, как истощается их терпение.
Похожие книги на "Миллиардер из Кремниевой долины. История соучредителя Microsoft", Аллен Пол
Аллен Пол читать все книги автора по порядку
Аллен Пол - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки mir-knigi.info.