Инноваторы. Как несколько гениев, хакеров и гиков совершили цифровую революцию
Шрифт:
Для решения этой задачи необходимо было придумать эффективный алгоритм, как и для написания любой компьютерной программы. Льюис дал условия задачи на лекции и пошел дальше по материалу: «А через день-другой ко мне в кабинет зашел тот смышленый второкурсник и рассказал, что создал алгоритм 5/3 от n». Другими словами, Гейтс подсчитал, что каждый блин потребуется перевернуть 5/3 раз. «Для решения потребовалось провести сложный анализ возможных вариантов расположения верхних блинов. Это было очень умно». Ассистент Льюиса Христос Пападимитриу позднее опубликовал это решение в научном журнале, а Гейтс числился соавтором [751] .
751
William H. Gates and Christos P Papadimitriou, Bounds for Sorting by Prefix Reversal, Discrete Mathematics, 1979; Harry Lewis, Reinventing the Classroom, Harvard Magazine,
Летом 1974 года, когда у Гейтса были каникулы между первым и вторым курсом, компания Honeywell предложила ему работу, и он уговорил Аллена переехать под Бостон и вместе устроиться в Honeywell. Аллен бросил университет, сел в свой «крайслер», приехал на восток страны и подбивал Гейтса тоже оставить учебу.
Он боялся, что они пропустят компьютерную революцию. Сидя в пиццерии, друзья мечтали о том, что когда-нибудь у них будет своя компания. Однажды Аллен спросил, насколько большая компания у них может получиться в лучшем случае? Гейтс предполагал, что программистов на тридцать пять [752] . Но Гейтс не устоял под натиском родителей, которые умоляли его не бросать Гарвард, хотя бы в ближайшее время.
752
Allen, Idea Man, 62.
Как и многие новаторы, Гейтс любил протест ради протеста. Например, на втором курсе он твердо решил, что не будет ходить на обязательные лекции, а будет слушать только те курсы, которых нет в его расписании. Этому правилу он следовал неукоснительно и, чтобы не ошибиться, специально посещал занятия, которые по времени пересекались с парами его курса. Таким бескомпромиссным он был бунтарем [753] .
Помимо прочего, Гейтс страстно увлекся покером, а больше всего любил семикарточный стад хай-лоу. За вечер он мог выиграть или проиграть тысячу долларов. Интеллект (IQ) Гейтса сильно превышал его эмоциональную восприимчивость (EQ), поэтому он намного лучше просчитывал вероятности, нежели угадывал намерения других игроков. «Билл — мономан. Он умеет сосредоточиться на одной вещи и не отвлекаться ни на что вокруг», — говорил Брей-терман. В какой-то момент Гейтс даже отдал Аллену свою чековую книжку, чтобы не промотать еще больше денег, но скоро попросил ее обратно. Аллен шутил, что Гейтс брал очень дорогие уроки блефа: «В один вечер он мог выиграть триста долларов, а на следующий проиграть шестьсот. За ту осень Гейтс потерял несколько тысяч долларов, но уверял, что играет все лучше и лучше» [754] .
753
Allen, Idea Man, 62.
754
Allen, Idea Man, 1058.
Вместе со старшими курсами Гейтс посещал пары по экономике, где познакомился со Стивом Балмером. Большой, шумный и компанейский Балмер казался противоположностью Гейтса, ему нравилось быть в центре университетской жизни, вступать в различные студенческие организации или даже возглавлять их. Например, он состоял в театральном клубе «Заварной пудинг», в котором студенты писали, а затем ставили мюзиклы. Также Балмер был менеджером команды по американскому футболу, издавал студенческий литературный журнал Advocate и занимался раскруткой газеты Crimson. Он даже вступил в один из старых добрых мужских клубов и подбил нового друга сделать то же самое. Гейтс назвал это «очень странным опытом». Балмера и Гейтса объединяла их гиперактивность. Они всегда «на полной громкости» разговаривали, спорили и вместе делали домашние задания, и оба раскачивались взад-вперед, когда напряженно думали. Иногда они ходили в кино, например, вместе посмотрели «Поющих под дождем» и «Заводной апельсин». В итоге они стали очень хорошими друзьями [755] .
755
Интервью, взятое автором у Билла Гейтса.
В декабре 1974 года, в середине второго курса, праздная жизнь Гейтса в Гарварде закончилась. В его комнату в студенческом корпусе Currier House заявился Аллен с номером журнала Popular Electronics, на обложке которого красовался компьютер Altair. Его боевой клич «Эй, мы же все пропустим!» пробудил Гейтса от спячки.
BASIC для Altair
Гейтс и Аллен задумали создать интерпретатор языка BASIC для процессора Intel 8080, который бы позволил всем любителям писать свои программы для Altair. Так BASIC должен был стать первым коммерческим, созданным для этого микропроцессора, высокоуровневым языком программирования. И так родилась индустрия программного обеспечения для персональных компьютеров.
На старом фирменном бланке Traf-O-Data
756
Билл Гейтс и Пол Аллен Эду Робертсу, 2 января 1975 г.; Manes and Andrews, Gates, 1810.
На письмо им не ответили, поэтому приятели решили позвонить. Гейтс считал, что звонить должен Аллен, так как он старше. Но Аллен настаивал, что Гейтс опытнее в таких вещах. Был найден компромисс: звонит Гейтс, немного изменяет свой голос и представляется Полом Алленом, потому что, если у них все получится, в Альбукерке полетит именно он. «У меня хотя бы щетина уже росла, а Билл все выглядел как второкурсник» [757] , — вспоминает Аллен.
По телефону им ответил мрачный Эд Робертс. Гейтс сделал голос пониже, представился Полом Алленом из Бостона и сообщил, что они сейчас заканчивают BASIC для Altair и хотели бы его продемонстрировать. Робертс сказал, что получил уже много подобных предложений и подпишет контракт с первым, кто войдет в двери его офиса в Альбукерке с работающим вариантом BASIC. Гейтс повернулся к Аллену и воскликнул: «Боже, срочно начинаем!»
757
Allen, Idea Man, 160.
Без Altair они не могли проверить свою работу, поэтому Аллен прибегнул к старой уловке: эмулировал работу Altair на гарвардском PDP-10. Они купили документацию к процессору Intel 8080, и через несколько недель эмулятор и другие необходимые для разработки программы были готовы.
В это время Гейтс с бешеной скоростью писал интерпретатор BASIC в блокнотах с желтыми линованными листами. Когда Аллен закончил эмулятор, Гейтс уже собрал общую структуру программы и написал основную часть кода. Он тогда существовал только в двух режимах: подолгу ходил по комнате или качался на стуле, а затем бросался записывать код на бумагу. «Помню, руки у него были все испачканы маркерами, — рассказывает Аллен. — Когда мой эмулятор был готов и мы получили доступ к PDP-10, Билл сел к терминалу, сначала долго смотрел на свои записки, раскачиваясь взад-вперед, а затем обрушивал на клавиатуру бурный поток компьютерного кода, и так много раз по кругу. Он мог заниматься этим часами напролет» [758] .
758
Allen, Idea Man, 1103.
Однажды вечером они ужинали в комнате Гейтса в Currier House, и к ним присоединились другие сильные математики. Кто-то из приятелей стал жаловаться на занудные операции с плавающей запятой, которые, однако, позволили бы программе работать с очень большими и очень маленькими числами, а также с числами, записанными в экспоненциальной форме [759] . Но хорошо быть гиком в Гарварде — внезапно в разговор встрял кучерявый студент из Милуоки по имени Монте Давидофф и заявил, что уже этим занимался [760] . Гейтс и Аллен засыпали его вопросами о применении операций с плавающей запятой в программировании и удостоверились, что Давидофф знает, о чем говорит. Он согласился выполнить для них работу за 400 долларов, а позднее стал их третьим компаньоном и заработал немалые деньги.
759
Когда Стив Возняк писал BASIC для компьютера Apple II, он поленился возиться с этими плавающими запятыми, и в итоге компании Apple пришлось покупать BASIC у Гейтса и Аллена. — Прим. автора.
760
Manes and Andrews, Gates, 1874.
Гейтс совершенно не готовился к экзаменам и даже на время перестал играть в покер. Восемь недель он, Аллен и Давидофф денно и нощно работали в гарвардской Лаборатории имени Айкена, вершили судьбу мира на PDP-10, то есть на деньги Министерства обороны США. Время от времени они выбирались в пиццерию Harvard House of Pizza и ресторан Aku Aku. Бывало, что Гейтс засыпал перед терминалом, обычно ранним утром, иногда недописав строчку с кодом. Он медленно клонился вниз, пока не утыкался носом в клавиатуру, и так дремал час-два. Затем он открывал глаза, косился на экран, пару раз моргал и продолжал писать код ровно с того места, на котором остановился, — такой феноменальный у него был уровень концентрации.