Читать книгу Миллиардер из Кремниевой долины. История соучредителя Microsoft - Пол Аллен - Страница 6
Глава 4
Братство
ОглавлениеМы с Биллом оказались самыми стойкими среди лейксайдцев в CCC. Обычно отец заезжал за мной на машине, чтобы отвезти домой пообедать. Я хотел остаться – иногда отец разрешал, иногда нет. Родителей беспокоило, что я начал отставать в школе. Стали появляться низкие отметки, и учителя, похоже, не слишком одобряли мое новое увлечение. Оценивая компьютерное программирование, мистер Маэстретти писал: «Пол добился больших успехов. Он проявляет огромный интерес к работе и достиг мастерства, далеко превосходящего… средний уровень». Но по поводу физики, по которой он поставил мне в середине года «С+» (хотя весной я вытянул «А»), он сожалел, что «все силы [мои] направлены на работу с компьютером – за счет других дисциплин».
Учитель по английскому, мистер Тайлер, огорченный моим хроническим безразличием к домашним заданиям, философски заключал: «Пол – фанатик (в старом религиозном смысле слова) и, охваченный энтузиазмом, почти не замечает ничего остального. Как объяснить ученику пагубность его подхода? Не знаю. А может быть, прав именно он, а не мы?»
На самом деле я бурно развивался в профессиональной среде, работая с тем, что мне нравилось. Чего еще желать для шестнадцатилетнего?
Предоставленные сами себе, мы с Биллом корпели над программами, пока не сводило желудок от голода; тогда мы отправлялись через дорогу в заведение под названием Morningtown Pizza. Рядом пристроился ночной магазин – перед ним парковались полицейские машины, а сами полицейские в задней комнате резались в карты. Мы жадно проглатывали пиццу прямо на месте или приносили обратно в CCC – и старались не закапать маслом телетайпы. Мы работали, пока не уходили все, кроме ночного оператора. Однажды я работал один и вовсе потерял счет времени. Автобусы перестали ходить, и было поздно звонить отцу, чтобы он забрал меня; пришлось идти домой пешком – целый час. Меня всю дорогу провожал бродячий пес; потом родители пристроили его нашим знакомым.
Для меня святым Граалем программного обеспечения была операционная система, нервная система компьютера. Она выполняет распределительную функцию, позволяя центральному процессору считать: переключаться от программы к программе; сохранять информацию в файлах; передавать данные на модемы, внешние диски и принтеры. О ней не думаешь, пока не возникнет ошибка и система не рухнет.
В те времена операционные системы не были черными ящиками, как сегодня. Производители поставляли вместе программное и аппаратное обеспечение; любая компания, приобретая компьютеры DEC, могла модифицировать TOPS-10, как считала нужным. Мы с Биллом знали, что наши наставники приобрели исходные коды TOPS-10 и работают над ее улучшением. Мы знали и то, что нам эта задача не по плечу, – и поэтому она манила нас в десять раз сильнее, чем все, над чем мы трудились. По выходным, оставшись вдвоем, мы с Биллом отправлялись копаться в мусорных контейнерах на заднем дворе. Мы открывали металлическую крышку бака, я сцеплял пальцы, чтобы подсадить Билла, – он весил не больше ста десяти фунтов. Билл свешивался в контейнер и тащил все, что казалось привлекательным. После нескольких попыток мы нашли настоящее сокровище: пачку заляпанных и смятых распечаток. Я помню запах кофейных пятен и помню, что подумал: «Не слишком аппетитно, но мне плевать».
Мы отнесли наш клад в терминальный зал и изучали его часами. У меня не было никакого Розеттского камня, и понимал я в лучшем случае пару строк из десяти, но все равно восхищался элегантностью компактного кода. Я знал: чтобы понять архитектуру такой операционной системы, как TOPS-10, необходимо освоить Ассемблер – язык низкого уровня, который обращается непосредственно к машине. Заметив мой интерес, Стив Расселл отозвал меня в сторону, протянул руководство по Ассемблеру в обложке из блестящего пластика и сказал:
– Тебе нужно это прочесть.
В нашем мире с его принципом «сделай сам» можно было больше ничего не говорить.
Дрожа от возбуждения, я отнес книгу домой и штудировал ее, пока не выучил вдоль и поперек. Спустя неделю и 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 были аннулированы на лето. Мы потерпели полный крах.
Когда уже казалось, что все потеряно, мой друг рассказал мне, что у одного профессора в университете бесплатная учетная запись в CCC. После окончания весеннего триместра в Лейксайде я чуть ли не каждый день ходил к терминалу на электротехническом факультете. Я продолжил программировать с того места, на котором остановился, и читал руководства, жуя гамбургеры в студенческом центре. Жизнь была прекрасна, но приходилось все лето помалкивать. Сам я уже вымахал под шесть футов, а Билл и Кент все еще выглядели учениками средней школы; я не мог рисковать, что они прискачут и сорвут мое прикрытие. Билл был в ярости, когда я в конце концов признался; мне стало не по себе. Но страсть к программированию была так сильна, что я второй раз поступил бы так же.
Осенью моего третьего года в Лейксайде, когда грехи были прощены, Стив Расселл заключил со мной сделку: в обмен на бесплатное машинное время я пытаюсь улучшить их компилятор Бейсика. По мере роста популярности языков высокого уровня компиляторы стали крайне необходимы. Компилятор – это транслятор, который переводит исходный код на языке высокого уровня в «объектные коды», двоичные биты и байты, понятные компьютеру. Как и все программное обеспечение DEC, компилятор Бейсика для PDP-10 был открыт для изменений и дополнений; можно было свободно добавлять новые функции – это и стало моим заданием. Работа была непростая – для того, кто только еще собирался записаться на первые компьютерные курсы. Полная распечатка кодов компилятора была толщиной с небольшой словарь; у меня ушло много дней, чтобы разобраться во всем и понять, как что работает. Мой ассемблерный код должен был подчиняться логике программы, и я мучительно подбирал слово за словом.
Иногда казалось, что работа мне не по зубам. Упрямство не позволяло обращаться за помощью, и я опирался на комментарии предыдущих программистов. Перед каждым озарением я целые дни сидел, совершенно ничего не понимая в исходнике.
Усталость не имеет значения в семнадцать лет, когда чем-то увлечен. Я торчал в CCC, пока глаза не начинали слипаться; дни превращались в недели, и я начал замечать некоторый прогресс. Замучившись перенабирать целые строки программы на Бейсике из-за малейшей опечатки, я воспользовался идеями строкового редактора Билла Уайера – он позволял быстро находить и вставлять нужные символы. И я фанатично комментировал каждый шаг (как предусматривал договор с нашими наставниками) для любого, кому впоследствии придется пользоваться моей работой.
Напомню, что я работал в детальном коде Ассемблера, как подмастерье часовщика, вглядывающийся в крохотные шестеренки, чтобы понять, как они взаимодействуют. К концу работы я, пожалуй, знал о компиляторе больше, чем кто-либо еще в CCC. Расселл и Грюн, кажется, удивились, что я продвинулся так далеко; особенно их порадовал мой строковый редактор – полезный бонус для покупателей. Я стал настоящим хакером. Все, чему я научился за эти два месяца, стало основой в моей работе с Ассемблером для микропроцессоров, когда ставки неимоверно выросли.
В те времена, как и сейчас, подростков часто недооценивали. Я, Билл, Рик и Кент показали, как может вырасти юноша, если дать ему шанс. До уровня наших наставников нам было еще расти и расти, но мы уже кое-что умели. И продолжали учиться.
Несмотря на наличие талантливых инженеров и первоклассную технологию разделения времени, CCC страдала от никудышной организации бизнеса. Лишь несколько человек хотели и могли разрабатывать собственное программное обеспечение, и лишь несколько программ были им подмогой. Вся система чересчур зависела от «Боинга», крупнейшего работодателя в Сиэтле, чьи менеджеры среднего звена могли позволить себе тратиться на машинное время. В 1970 году «Боинг» пережил двойной удар: спад в авиаперевозках и резкое сокращение расходов на программу NASA «Аполлон». Штаты сократили, финансирование – в том числе и на использование сторонних компьютеров – урезали. Хуже того, «Боинг» организовал собственную службу программирования. За несколько месяцев он превратился из клиента в конкурента.
В начале весны CCC рухнула, и началась процедура банкротства. Мы с Биллом, едва узнав об этом, помчались в терминальный зал – умолять, чтобы нам дали время доделать некоторые программы и все сохранить на DECtape. Не успели мы появиться, перевозчики начали забирать арендованную мебель. Мы как сумасшедшие стучали по клавишам телетайпов, а грузчики ходили из комнаты в комнату, относя столы в грузовики. В конце концов грузчики подошли к нам и сказали:
– Все, ребята, выносим стулья.
Мы, стоя на коленях у терминалов, сохраняли последние программы.
Через пару минут я обратил внимание, что Билл уставился в окно, разинув рот. Одно из кресел на колесиках отвязалось и катилось по Рузвельт-вей, а грузчик гнался за ним. Мы расхохотались, хотя веселого было мало – кончалась целая эпоха нашей жизни. Надежда поработать летом испарилась, а отец грозился отобрать водительские права, если я не сдам хвосты по химии. Говоря серьезно, банкротство стало запоминающимся уроком – как предприятие может рухнуть в один миг. Билл, надо сказать, запомнил урок навсегда.
С расстояния прожитых лет закрытие CCC представляется благом. Наше братство было вынуждено искать доступ к компьютерам, и пришлось набираться опыта. В то время IBM контролировала две трети рынка мейнфреймов. Их ближайших конкурентов называли «семь гномов»: Burroughs, Control Data, General Electric, Honeywell, NCR, RCA и UNIVAC. Как и стремительно развивающиеся компании вроде DEC, они пытались расширить свою скудную долю на рынке, обойдя лидера по цене, мощности, инновациям – или сразу во всем. В сфере программного обеспечения рынок был еще более пестрым. Сегодня, после неизбежных встрясок, обычных для развивающейся отрасли, есть в основном три операционные системы для персональных компьютеров: Windows, Mac OS фирмы Apple и разные вариации Unix. В 1970-е годы систем насчитывались буквально десятки. Программное обеспечение для каждой линии компьютеров было замкнутым мирком.
Однажды вечером после уроков (в старшем классе Лейксайда) я нахально вошел в университетскую компьютерную лабораторию, взял руководство и сел к телетайпу, подсоединенному, как я вскоре узнал, к компьютеру Sigma-5 фирмы Xerox Data Systems. Какой-то старшекурсник что-то спросил у меня, и вскоре стало известно, что я вроде бы соображаю в том, что делаю. Так продолжалось, пока преподаватель не позвал меня к себе в кабинет и не спросил:
– Что-то я вас не припомню. Вы из моей группы?
– Нет, сэр, – ответил я.
– Вы вообще не записаны, я прав?
Пришлось признаться, что я не записан. Профессор улыбнулся.
– Хорошо. Давайте так. Если будете помогать моим студентам, можете приходить.
Теперь пути назад не было. Я пересел за Burroughs B5500 и работал с мощным языком Алгол. Первый раз я столкнулся с «пакетной обработкой» – шаг назад, который только укрепил мое восхищение PDP-10. Я пробовал работать с Control Data CDC-6400 и Imlac PDS-1 – первым графическим мини-компьютером, на котором обнаружил версию «Звездных войн» Стива Расселла. Я как губка впитывал знания, где мог. Мы все были тогда губками.
В ноябре портландская компьютерная компания Information Services Inc. пригласила меня и трех моих «коллег», чтобы обсудить контракт, – гигантское достижение для нас. Прежде чем отправиться в Орегон, мы обозвали себя Lakeside Programming Group (Лейксайдская компания программирования) – это звучало официально и по-взрослому. Information Services Inc. хотели получить программу расчета платежных ведомостей, написанную на Коболе – языке высокого уровня, который применялся в бизнес-программах. Взамен они предоставляли нам бесплатное время на своих PDP-10. Мы, чтобы подчеркнуть опыт работы, отправили в компанию резюме; Билл, которому только исполнилось 16, написал свое карандашом на линованном тетрадном листе. Работу мы получили.
Однако дождаться звездного часа нам было не суждено. Кобол оказался громоздким, многословным языком, а работа над расчетной программой – кропотливой и утомительной. Мы трудились всю зиму, используя университетскую компьютерную лабораторию, пока не исчерпали кредит гостеприимства. В письме от 17 марта 1971 года профессор Хелльмут Голд жаловался, что наша работа «препятствует использованию лаборатории по прямому назначению». Прилагался список нарушений, включая «использование телетайпов (иногда всех одновременно) в течение длительного времени, иногда без присмотра, для распечатки бесконечных текстов». В результате уровень шума «препятствует нормальной деятельности и не соответствует общепринятому использованию удаленных терминалов».
«В свете этих и других обстоятельств, – заключил мистер Голд, – я вынужден просить вас сдать ключи и прекратить работу в лаборатории незамедлительно». Мы поняли, что на нас пожаловались старшекурсники, и перебрались к каким-то другим телетайпам, чтобы закончить работу.
Хотя мы так и не получили вознаграждения за расчетную программу, было приятно вернуться к старым добрым PDP-10. И мы стали смотреть на себя уже не как на любителей, а как на людей, способных зарабатывать программированием.
Поскольку у меня был доступ к полкам компьютерной библиотеки университета, я стал исследовательским подразделением Lakeside Programming Group. Бессчетные часы я проводил, зарывшись в журналы вроде Datamation и Computer Design, изучая последние тенденции мира компьютеров. Я копался в зубодробительных технических отчетах из MIT и Carnegie Mellon, набитых теоретическими выкладками обо всем – от искусственного интеллекта до новейших алгоритмов. Найдя что-нибудь интересное, я показывал это группе.
Судя по моему выпускному альбому, я читал и другие книги. На фото я сижу за партой в своем привычном зеленом вельветовом пиджаке и синей рубашке, похожей на оксфордскую (в кадр не попали битловские ботинки). У меня длинные волосы по тогдашней моде, густые баки и китайские усы в стиле Фу Манчу. Подбородком я упираюсь в стопку из одиннадцати книг, среди которых «Дублинцы» Джойса, «Современная физика для университетов», «Мексиканская война» и Библия. Подозреваю, что композиция составлена нарочно, чтобы изобразить, как нас загружали чтением. И все же это хорошая иллюстрация широты моих интересов.
Мною двигало скорее любопытство, чем стремление к хорошим оценкам. Когда доходило до викторины по Гражданской войне или спряжения французского глагола pouvoir, я с трудом изображал интерес. «Я еще и рассеянный (это не то слово) и ленивый (мягко выражаясь) в отношении всего, что не сулит мне живого или созерцательного удовольствия» – так записал я в дневнике. Но дайте мне энергичного учителя и захватывающий материал – и я не угомонюсь. Вспоминаю свое увлечение Артюром Рембо – я погрузился в строки неуемного желания и тревоги. Потом меня захватила история Ассирии, а в выпускном классе – философия.
Именно тогда, во время дискуссии о Канте, обмениваясь завтраками с ученицами школы Святых Имен, я встретил свою первую настоящую подругу: рыжеволосую Риту, яркую и обворожительную.
По Макалистер-холлу слонялись ученики, которых интересовал только Бейсик и больше ничего. Я был не такой. Я участвовал после школы в блюзовых джемах со своей акустической гитарой. Я любил литературу и кино; в шахматной сборной играл на четвертой доске. Я болел за футбольную и баскетбольную команды университета – страсть, доставшаяся мне от отца. Я общался с людьми из разных социальных групп – и с будущими хиппи, и с компьютерщиками. Я не был ботаником. Я просто обожал компьютеры – помимо прочего.
Тридцать лет спустя Фред Райт вспоминал, как учил нас с Биллом в Лейксайде. На вопрос о наших успехах в Microsoft он ответил:
– Счастье, что они сумели поладить и компания не лопнула в первые же два года.
У нас всегда наблюдалось противостояние. Впервые это проявилось в Лейксайде, когда наметилась конкуренция: с одной стороны, мы с Риком, с другой – Билл и Кент; они были на два года младше и все время пытались что-то доказать. По существу, Lakeside Programming Group была мальчишеским клубом с неутихающим стремлением к первенству и атмосферой тестостерона. И хотя мы все старались во что бы то ни стало показать себя, Билл был самым энергичным и целеустремленным. Мы стали друзьями с первого дня знакомства, но подспудное напряжение сохранялось.
Однажды, в середине 12-го класса, я сидел, думая о своих делах, в школьном компьютерном зале, когда Билл начал меня поддразнивать:
– Пол, тут спрятано кое-что для тебя интересное, но спорим – ты не догадаешься что?
– Да что ты говоришь, – ответил я. – И что же это?
– Я не могу тебе сказать, но кое-что, что ты хотел бы получить.
Билл оставался в своем репертуаре и продолжал меня поддразнивать. Не знал он только одного – мне известен его секрет. Примерно месяц назад с аукциона были распроданы остатки имущества CCC, включая десятки контейнеров DECtape. Билл и Кент ухватили их по дешевке и никому не сказали ни словечка, но Рик заметил, как они прячут свою добычу в постамент телетайпа, и поделился разведданными со мной. Вечером того же дня, когда все ушли, я выудил контейнеры, отнес их в коробке домой и спрятал у себя под кроватью.
Назавтра случилась катастрофа. Билл бушевал.
– Ты с самого начала знал, что там контейнеры DECtape, – кричал он. – Что ты с ними сделал?
– Да что ты, Билл? – удивлялся я. – У тебя были ленты DECtape? Откуда?
Билл чуть не свихнулся. Кент обозвал меня вором и пригрозил подать в суд. Шум поднялся такой, что вмешался Фред Райт и отозвал меня в сторонку; я согласился вернуть контейнеры.
Впрочем, такого рода стычки были редкостью между мной и Биллом. В выпускном классе, в сочинении о друзьях и близких, я писал о нем:
«Невысокий, яркий, умный, веселый и всеми любимый человек. Считает школу ерундой. Умом равен мне почти во всем (кроме английского), а иногда и превосходит – хотя на два года младше. Я гораздо больше знаю о науках и о мире в целом. Удивительно умеет смеяться над собой почти в любых обстоятельствах. Любит компьютеры и технику, как и я. Очень изобретателен и всегда готов к развлечениям, даже странным. Мы очень подходим друг другу».
На выпускных торжествах в Лейксайде мой одноклассник Стю Голдберг виртуозно играл на рояле. Я некоторое время выбирал из двух вариантов карьеры: рок-гитара или компьютерное программирование. Слушая Стю, который на следующий год присоединился к Джону Маклафлину и оркестру Махавишну, я убедился, что был прав, выбрав компьютеры.
После церемонии мы с родителями направились было домой, но Фред Райт догнал нас с листком бумаги в руках. Это был мой последний счет за машинное время, чуть выше двухсот долларов. Отец немного поворчал, разглядывая счет. Я уже нацелился изучать компьютерные науки в университете штата Вашингтон, но родители еще сомневались в правильности моего выбора. Они считали это временным подспорьем, пока я не найду что-то действительно стоящее.
Класс 1971 года выпуска стал последним в истории Лейксайда – школы только для мальчиков; этой же осенью Лейксайд объединился с женской школой Св. Николая. Мы оставили прощальный дар – могильный камень; он так и стоит во дворе. На нем искаженная латинская надпись: «Vivat virgor virilis», что значит «Да здравствует мужская девственность».