Глава 1
Возможность
В декабрьские выходные 1974 года я направлялся на Гарвард-сквер. Ничто не предвещало, что жизнь моя вот-вот изменится. Шел снег, у меня за душой были 21 год и полная неустроенность. Моя девушка уже несколько недель как вернулась в наш родной Сиэтл – за три тысячи миль отсюда. До окончания Университета штата Вашингтон, где я прерывал учебу уже дважды за последние два года, оставалось три семестра. У меня была бесперспективная работа в Honeywell, убогая квартирка и «Крайслер Нью-Йоркер» 1964 года, который жрал масло, как безумный. Если к лету ничего не произойдет, мне предстояло впрячься всерьез, чтобы все-таки получить диплом.
Единственной константой в моей жизни в те дни оставался студент Гарварда по имени Билл Гейтс, мой подельник с того момента, как мы встретились в Лейксайдской школе – он был в восьмом, а я в десятом. Мы с Биллом вместе учились разбирать компьютерные коды. Еще подростками мы основали не слишком удачную компанию и работали бок о бок над профессиональными программами. Именно Билл уломал меня отправиться в Массачусетс и вместе с ним поступить в техническую фирму. Потом он все переиграл и решил вернуться в колледж. Он, как и я, похоже, не мог угомониться и вечно пытался попробовать что-то новое.
Мы мечтали затеять какой-нибудь коммерческий проект, не сомневаясь, что рано или поздно напишем стоящее программное обеспечение – это мы умели. В гарвардской пиццерии мы грезили о предпринимательском будущем. Однажды я спросил Билла:
– Допустим, все получится, как думаешь: компания будет большая?
– Думаю, – ответил Билл, – наймем человек 35 программистов.
Мне эти слова показались чересчур оптимистичными.
С возникновения технологии интегральных схем в 1950-х годах энтузиасты предсказывали появление все более мощных и экономичных вычислительных машин. В 1965 году в журнале Electronics молодой физик-исследователь Гордон Мур опубликовал более конкретное предсказание. По его оценкам, максимальное число транзисторов на интегральной схеме должно удваиваться каждый год, без увеличения стоимости чипа. После основания фирмы Intel (где он стал соучредителем) Мур уточнил, что удвоение будет совершаться каждые два года – все равно впечатляющие темпы. Схожие тенденции проявились и в скорости работы процессора, и в объеме дисков. Это простое, но важное наблюдение остается справедливым по сей день. Благодаря непрерывному развитию технологии микросхем компьютеры будут становиться быстрее и дешевле.
Динамика закона Мура стала еще более очевидной в 1969 году – через несколько месяцев после того, как я встретил Билла (мне было шестнадцать, и я только учился программировать на ЭВМ). Японская компания Busicom попросила Intel разработать микросхемы для дешевого карманного калькулятора. В Busicom считали, что новой машине понадобится 12 интегральных схем. Но Тед Хофф, один из инженеров-электроников Intel, выдвинул решительную идею: сократить расходы, собрав все компоненты полностью функционального вычислительного устройства на одном чипе, который впоследствии назвали микропроцессором.
До появления на сцене микропроцессоров требовались десятки, сотни микросхем для выполнения узкоспециализированных функций – в светофорах, газовых насосах, печатающих устройствах. «Мини-компьютеры» размером с микроволновую печь – промежуточный шаг от мейнфреймов (больших универсальных ЭВМ) к микрокомпьютерам будущего – действовали по той же формуле: один чип – одна задача. Изобретение Хоффа оказалось более гибким. Как отметил Гордон Мур: «Теперь мы можем создать один чип и продавать его для тысяч различных применений». В ноябре 1971 года Мур и Роберт Нойс – один из разработчиков интегральных схем – представили микрочип Intel 4004 по цене 200 долларов. В рекламной статье журнал Electronic News объявил о начале «новой эры электроники интегральных схем».
Мало кто обратил тогда внимание на 4004-й, но я в том году как раз поступил в колледж, и мне хватало времени читать все журналы, до которых я мог добраться. То было золотое время для компьютеров: новые модели появлялись чуть ли не каждый месяц. Впервые прочитав про 4004-й, я отреагировал как инженер: что можно с ним сделать крутого?
На первый взгляд, новый чип Intel выглядел как сердце действительно симпатичного калькулятора, но по мере чтения я понял, что чип обладает вычислительной мощностью настоящего центрального процессора, ЦПУ – мозга любой вычислительной машины. 4004-й не был игрушкой. В отличие от специфически ориентированных интегральных схем он мог выполнять программы из внешней памяти. В рамках своей архитектуры первый в мире микропроцессор являлся более или менее компьютером на чипе, как утверждала реклама; первая ласточка той поры, когда компьютеры станут доступными для всех.
Четыре месяца спустя я, продолжая «следить за чипами», увидел следующий неизбежный шаг. В марте 1972 года Electronics объявил о выходе процессора Intel 8008. Восьмибитная архитектура позволяла ему решать гораздо более сложные задачи, чем 4004-му, и он адресовал до 16 000 байтов (16 К) памяти – достаточно для программы серьезного размера. Деловой мир видел в 8008-м недорогой контроллер для светофоров и конвейеров (в этом духе мы с Биллом позже используем его в нашей работе по анализу транспортных потоков). Но я знал, что этот микрочип второго поколения способен на большее – если представится возможность.
Все мои серьезные идеи начинались с изучения ситуации, в данном случае – эволюции ранних микропроцессорных чипов Intel. Затем я задал несколько основных вопросов: где передний край исследования? что должно существовать, но еще не существует? как я смогу создать что-то, что решит проблему, и кого стоит взять в соратники?
Обычно, чтобы у меня наступило озарение, два или более элементов должны соединиться, оживить новую технологию и дать результат – лучше всего для огромной аудитории. Спустя несколько месяцев после выхода 8008-го у меня случилось такое озарение. «Что, если процессор сможет понимать язык высокого уровня, главное средство программирования универсального компьютера?»
С самого начала мне было ясно: надо использовать Бейсик (BASIC – Beginner’s All-Purpose Symbolic Instruction Code) – относительно простой язык, который мы с Биллом изучали еще в Лейксайде, когда только знакомились с ЭВМ. Новейший мини-компьютер фирмы Digital Equipment Corporation, PDP-11 уже мог работать с более сложным языком – Фортраном, используя при этом всего 16 килобайт памяти. Я считал, что хотя машина с 8008-м процессором в перспективе будет делать практически то же, что и PDP-11 (хотя и заметно медленнее), стоить она будет несравнимо меньше. Впервые обычные люди смогут покупать компьютеры для офиса, даже для дома. Бейсик для 8008-го откроет двери для решения самых разных задач – и для бесчисленных клиентов.
И я спросил Билла:
– Почему бы нам не заняться Бейсиком для 8008-го?
Бил взглянул на меня с насмешкой и ответил: