В ноябре мы с Ритой переехали в Риндж-Хаусес, новостройку в Кембридже – с линолеумными полами, стальными дверями и полчищами тараканов. Когда мой «Крайслер» начал жрать масло, я купил подержанный желтый «Мустанг» с откидным верхом за 290 долларов. Однажды утром я сел в машину и повернул ключ. Тишина: кто-то украл аккумулятор. Через пару дней я отправился в «Сирс» и купил новый. Я открыл капот – теперь украли мотор. Я махнул рукой на свой «Мустанг» с открытым верхом – он так и так мало подходил для пронзительного северо-восточного ветра. Через месяц машина стояла на колодах, ободранная как липка.
Ко Дню благодарения Рита уволилась с работы и вернулась в Сиэтл – получать степень в университете. Рита – моя первая любовь, мой первый медленный танец; без нее мне стало одиноко. Я проводил вечера с Биллом в общежитии «Кариер-Хаус», пока он не отправлялся на всю ночь играть в покер с местными шулерами. Он получал полезные уроки блефа; как-то Билл выиграл 300 долларов за ночь – и спустил 600 назавтра. За осень он потерял несколько тысяч, но неизменно повторял мне:
– Я совершенствуюсь.
Я знал, что он думает про себя: «Я умнее этих парней».
В свободное время я интересовался микропроцессорами. Несколько недорогих компьютеров было собрано на основе Intel 8008, но ни один не стал шагом вперед. Французский Micral N, заявленный в 1973 году как микрокомпьютер, программировался только в двоичных кодах; его использовали в пунктах взимания сбора на автострадах и для каких-то сельскохозяйственных проектов за границей. Scelbi-8H, имеющий всего несколько килобайтов памяти, не пригодился нигде. Mark 8 продавался в наборе для самостоятельной сборки – для самых упертых любителей делать все своими руками. С явлением в 1974 году нового, более мощного чипа Intel – 8080 – технология, казалось, была готова к прыжку. Однако трамплин для прыжка – универсальный компьютер – еще предстояло создать.
Я подумывал о том, что можно на основе Traf-O-Data собрать компьютер на 8080-м чипе, который поспорил бы с PDP-8, но Билл счел идею бесперспективной. Я выдвинул новое предложение: а если собрать сотню чипов вместе и получить нечто дешевле и мощнее, чем любой современный мини-компьютер? Или сложить пачку четырехразрядных процессорных секций, чтобы эмулировать работу IBM 360 – за цену неизмеримо ниже.
Каждый раз, когда я прибегал с идеей к Биллу, он лопал ее, как мыльный пузырь.
– Для этого нужен батальон народу и куча денег, – говорил он.
Или:
– Ну, это уж чересчур сложно.
Слишком свежи были его воспоминания о крахе нашей Traf-O-Data.
– Мы не боги в аппаратном обеспечении, Пол, – повторял он мне. – Наше дело – программы.
И он был прав. Мои идеи или опережали время, или были нам не по зубам. И подумать было смешно, что два пацана из Бостона побьют IBM на их поле. Здравый смысл Билла не давал нам тратить время там, где нам вообще не светила удача.
И когда в декабре появилась реальная возможность, я в нее вцепился.
Некоторые считают наш Бейсик для «Альтаира» серьезным достижением, потому что мы создали язык, не видя «Альтаира» и даже не имея микропроцессора Intel 8080, на котором строилась машина. Мы в самом деле добились небывалого, но не все понимают, что у нас просто не было выбора. «Альтаир» практически представлял собой коробку с центральным процессором внутри. В нем не было жесткого диска, дисковода для гибких дисков, негде было редактировать и хранить программы. И даже будь у него все это, отладка программ на 8080-м с ограниченной памятью была бы долгим и трудным занятием.
И любой программист, решивший представить в Альбукерке Бейсик для 8080-го, столкнулся бы с громадными проблемами. Он должен был бы для начала сообразить, что нужен симулятор, а затем создать его с нуля на большом компьютере или мини-компьютере. Мы с Биллом получили серьезное преимущество в скорости и производительности за счет средств разработки для нашей Traf-O-Data. Но могли ли мы на самом деле написать интерпретатор Бейсика?
Работу мы строили так же, как и при создании Traf-O-Data. Я должен был создать средства, макроассемблер и симулятор, а Билл занимался структурой интерпретатора. В отличие от пожирающего ресурсы компилятора, который преобразует целый файл исходного кода в Ассемблер или машинный язык, интерпретатор выполняет по одному фрагменту кода, что позволяет снизить издержки пользователей «Альтаира». В то время четыре килобайта памяти стоили в розницу чуть меньше трехсот долларов – приличная сумма для 1975 года, но не препятствие для безумного любителя. Задача была сложная, но мы были уверены, что втиснем упрощенный вариант интерпретатора в эти четыре килобайта, чтобы еще осталось место для маленьких программ, написанных пользователем.