Я подумывал о том, что можно на основе Traf-O-Data собрать компьютер на 8080-м чипе, который поспорил бы с PDP-8, но Билл счел идею бесперспективной. Я выдвинул новое предложение: а если собрать сотню чипов вместе и получить нечто дешевле и мощнее, чем любой современный мини-компьютер? Или сложить пачку четырехразрядных процессорных секций, чтобы эмулировать работу IBM 360 – за цену неизмеримо ниже.
Каждый раз, когда я прибегал с идеей к Биллу, он лопал ее, как мыльный пузырь.
– Для этого нужен батальон народу и куча денег, – говорил он.
Или:
– Ну, это уж чересчур сложно.
Слишком свежи были его воспоминания о крахе нашей Traf-O-Data.
– Мы не боги в аппаратном обеспечении, Пол, – повторял он мне. – Наше дело – программы.
И он был прав. Мои идеи или опережали время, или были нам не по зубам. И подумать было смешно, что два пацана из Бостона побьют IBM на их поле. Здравый смысл Билла не давал нам тратить время там, где нам вообще не светила удача.
И когда в декабре появилась реальная возможность, я в нее вцепился.
Некоторые считают наш Бейсик для «Альтаира» серьезным достижением, потому что мы создали язык, не видя «Альтаира» и даже не имея микропроцессора Intel 8080, на котором строилась машина. Мы в самом деле добились небывалого, но не все понимают, что у нас просто не было выбора. «Альтаир» практически представлял собой коробку с центральным процессором внутри. В нем не было жесткого диска, дисковода для гибких дисков, негде было редактировать и хранить программы. И даже будь у него все это, отладка программ на 8080-м с ограниченной памятью была бы долгим и трудным занятием.
И любой программист, решивший представить в Альбукерке Бейсик для 8080-го, столкнулся бы с громадными проблемами. Он должен был бы для начала сообразить, что нужен симулятор, а затем создать его с нуля на большом компьютере или мини-компьютере. Мы с Биллом получили серьезное преимущество в скорости и производительности за счет средств разработки для нашей Traf-O-Data. Но могли ли мы на самом деле написать интерпретатор Бейсика?
Работу мы строили так же, как и при создании Traf-O-Data. Я должен был создать средства, макроассемблер и симулятор, а Билл занимался структурой интерпретатора. В отличие от пожирающего ресурсы компилятора, который преобразует целый файл исходного кода в Ассемблер или машинный язык, интерпретатор выполняет по одному фрагменту кода, что позволяет снизить издержки пользователей «Альтаира». В то время четыре килобайта памяти стоили в розницу чуть меньше трехсот долларов – приличная сумма для 1975 года, но не препятствие для безумного любителя. Задача была сложная, но мы были уверены, что втиснем упрощенный вариант интерпретатора в эти четыре килобайта, чтобы еще осталось место для маленьких программ, написанных пользователем.