Миллиардер из Кремниевой долины (Аллен) - страница 54

Несколько лет назад, когда мы с Монте вспоминали те дни, он сравнил программирование с писательским ремеслом – мне это показалось хорошей аналогией нашего подхода к Бейсику для «Альтаира». Сначала мы определили сюжет – концептуальный этап программирования. Затем мы взяли большую проблему и разделили ее на составные части – «главы», сотни подпрограмм и связанные с ними структуры данных, а потом снова соединили их вместе. Если строчка не работала, мы переписывали черновик. Главная проблема – удерживать целую картину, пока сражаешься с деталями маленькой подпрограммы, и постоянно сопоставлять одно с другим. Это была, пожалуй, самая сложная и захватывающая задача из всех, с какими я сталкивался.

По мере продвижения вперед наша уверенность росла. Однажды мы позвонили в MITS узнать программы установления связи для телетайпа, чтобы написать коды ввода-вывода для «Альтаира». Мы поняли, что мы на верном пути, когда Билл Йейтс, партнер Эда Робертса и ведущий инженер, сказал, что до нас никто не задавал им этот вопрос. Тут мы поняли, что работа наша.

Как-то ночью мы возвращались к Айкену после вылазки в кафе; нас остановила университетская полиция и попросила предъявить документы. Мы-то считали, что никому не вредим, занимая машинное время, тем более что PDP-10 использовались мало. Но мы не знали, что Гарвард оплачивает компьютеры на пару с Министерством обороны, пропорционально использованному времени. Работая с симулятором, который пожирал много процессорного времени, я входил с паролем Билла. Когда пришли январские счета, доля Гарварда оказалась подозрительно велика; и очевидный подозреваемый нашелся быстро: Уильям Генри Гейтс III (летом Билл предстал перед административной комиссией, но отделался порицанием).

К концу февраля – через восемь недель после нашего первого контакта с MITS – интерпретатор был готов. Две тысячи строк кода, втиснутых примерно в 3200 байт. Это был крепкий маленький Бейсик – разумеется, ободранный, но мощный для своего размера. Никто не смог бы впихнуть больше функциональности и скорости в такой крохотный участок памяти. Недавно Билл сказал мне:

– Это лучшее, что мы сделали.

И это была действительно совместная работа. Я бы оценил вклад каждого так: 45 % – Билл, 30 % – Монте и 25 % – я, не считая средств разработки[4].

Если вдуматься, это стало серьезнейшим достижением для трех людей нашего возраста. Если сегодня проверить эти программы, я уверен, что они будут выглядеть лучше всего, что написали наши наставники в CCC. Мы с Биллом стали матерыми программистами.