Реклама полностью отключится, после прочтения нескольких страниц!
Пол и Билл, хотя и учились в разных классах, сблизились благодаря общему интересу к программированию для PDP-10. Частенько случалось так, что один мальчик вечером тайком проникал в школу и видел, что терминал — увы! — уже занят другим. Иногда они пропускали занятия в гимнастическом зале, лишь бы побольше поработать на компьютере.
У мальчиков сформировались определенные интересы. Билл намеревался писать программы для практического использования, а Пола приводили в восторг хитросплетения ассемблера, языка программирования низкого уровня, дающего программисту полный контроль над всеми частями компьютера. Пока Пол копался в топкостях ассемблера, Билл написал свою первую программу, игру в крестики-нолики. Позабыв обо всем на свете, два компьютерных ловкача решили заставить PDP промоделировать несколько тысяч партий, чтобы выявить оптимальную стратегию. Однако годовому бюджету эти опыты оказались не по силам, и через шесть месяцев руководству школы пришлось обратиться к родителям с просьбой помочь оплатить счет от General Electric. В итоге доступ Билла и Пола к терминалу был ограничен, поскольку их родители вышли на предел своих возможностей по оплате машинного времени.
Но любовь ребят к программированию не остыла. Добраться до компьютера было непросто, потому что сами компьютеры еще были редкостью и компьютерное время стоило дорого. Тем не менее вскоре эти двое школьников нашли фактически неограниченный источник машинного времени.
Несколько недавних выпускников Университета штата Вашингтон только что организовали компанию Computer Center Corporation (ССС). Они приобрели PDP-10, чтобы продавать машинное время другим компаниям. Основатели компании подписали соглашение с DEC, по которому платежи за машину откладывались при условии, что ССС будет заниматься поиском «жучков» (bug) в программном обеспечении PDP-10.
Жучки — это аномалии в компьютерной программе, из-за которых она действует неправильно. Например, в данных по бухгалтерской отчетности или имуществу компании показываются неправильные величины, или компьютер останавливается (зависает) и становится временно неработоспособным. Перезапуск часто приводил к потере всей информации, введенной за день.
В то время программы PDP-10 просто кишели жучками, что служило причиной постоянной головной боли у DEC и ее клиентов, но вызывало радость у молодых инженеров ССС, поскольку это позволяло им пока не платить за машину и загоняло в угол кассовый отдел DEC. ССС обещала купить машину, как только она обретет надежность, и тем временем посылала частые отчеты о жучках.
Когда Билл и Пол впервые пришли в ССС, ее инженеры безо всякого доверия отнеслись к претензиям подростков на умение программировать для машин DEC. Однако Биллу, уже тогда доказавшему свое искусство убеждать, удалось уверить ССС в том, что они справятся с этой работой, и компания подписала соглашение с «Lakeside Programming Group» («Группа программирования Лейксайд»), как назвали себя Билл и Пол.
В обмен на компьютерное время ребята обязались регулярно передавать ССС списки жучков в программном обеспечении PDP-10, включая подробное описание обстоятельств, приводивших к зависанию компьютера.
Каждый день примерно в 6 часов вечера происходила необычная пересмена. Обычные программисты ССС покидали офис, а Билл, Пол и двое их компаньонов, Рик Вейланд и Кент Эванс, приезжали на велосипедах, чтобы начать работу с массой различных программ в комнате, забитой телетайпами. «Мы проводили там целые ночи, потому что просто обожали работать с программами. Веселое было времечко», — вспоминает Пол Аллен.
За это время они значительно углубили свои познания в тонкостях аппаратного и программного обеспечения миникомпьютера PDP-10. Десятки страниц рабочих журналов ССС были заполнены описаниями сбоев. Гейтс и Аллеи, решительно настроенные на то, чтобы выловить совершенно всех жучков, подвергали PDP-10 самым строгим испытаниям. Однако близко познакомившись со всеми тонкостями работы этого компьютера, они вторглись в запретную область.