Стил: В Латинской школе у меня были хорошие учителя по математике, они меня поощряли как раз в нужном направлении. Когда я был в девятом классе, Ральф Уэллингс — тот, кто дал мне книги накануне Дня благодарения, — предложил сделку. Он сказал: «Я заметил, что ты сдаешь все математические тесты со стопроцентным результатом. И я разрешу тебе четыре урока в неделю проводить в компьютерном классе, если на пятом ты будешь получать стопроцентный результат. Если когда-нибудь получишь меньше, договор отменяется». Это был отличный стимул. И до конца года я продолжал блестяще сдавать тесты. Чтобы иметь доступ к компьютеру, мне пришлось очень серьезно заниматься математикой. А на следующий год учитель уже ничего не предложил — и правильно, потому что с математикой у меня стало хуже. Так что у меня были хорошие учителя, они дали мне то, что нужно, чтобы все выучить.
Сейбел: А позже, когда вы уже увлеклись компьютерами, кто именно помогал вам в этом?
Стил: Билл Мартин, конечно, который нанял меня. И Джоэль Мозес, который руководил проектом Macsyma, — для работы над ним меня и взяли в MIT.
Сейбел: И в итоге вы проработали над этим проектом в течение всей учебы в колледже?
Стил: Да, я работал в MIT все то время, пока учился в Гарварде. Летом это была работа на полную ставку, остальное время — на полставки.
Я очень старался подгадать так, чтобы с утра быть в Гарварде, потом заехать в MIT, поработать там часа два-три, ну, а после этого домой.
Сейбел: И вы работали только над проектом Macsyma на Лиспе?
Стил: Да. В частности, я отвечал за интерпретатор Maclisp. Йонл Уайт, ответственный за интерпретатор и компилятор, к тому времени стал уже чем-то вроде гуру. Я взял интерпретатор, и это разделение труда было почти идеальным. Моим наставником был Йонл Уайт. Но фактически все, кто работал над проектом, взяли меня под крыло. Еще я познакомился кое с кем из лаборатории искусственного интеллекта. Поэтому я без проблем поступил в магистратуру MIT — там уже знали, кто я и чем занимаюсь.
Сейбел: Вы стали бакалавром компьютерных наук?
Стил: Да. Вообще-то я хотел получить диплом по математике, слушал соответствующие лекции, но потом понял, что у меня нет способностей к изучению бесконечномерных банаховых пространств. Я просто изнывал над ними. Но, к счастью, я слушал достаточно лекций по компьютерам, просто из интереса, чтобы сменить специальность. На самом деле диплом был по прикладной математике — компьютерные науки были ее разделом, а прикладная математика относилась к инженерному факультету Гарварда.
Сейбел: С какими машинами вы имели дело в Гарварде?
Стил: С DEC PDP-10. В кампусе была PDP-10, но, кажется, к ней допускали только магистров. А нам давали доступ к телетайпным терминалам коммерческой системы, которую Гарвард арендовал или что-то в этом роде.
Сейбел: Вы бы хотели что-то изменить в том, каким путем пришли к программированию? Может быть, вы что-то упустили?
Стил: У меня никогда не было четко поставленной цели. И я не жалею о своем пути. Думаю, в моей жизни было много интересных совпадений и полезных напутствий.
Сейчас я понимаю, что посещать одновременно MIT и Гарвард было довольно необычно. Я курсировал туда-сюда и говорил, например: «Профессор с того берега утверждает то-то и то-то». А мне отвечали: «Чепуха, на самом деле вот как все обстоит». Так что я за короткий срок получил обширные знания.
Необычным было и то, что связь с MIT у меня появилась уже в старших классах. В 15 лет я мог возиться с компьютером за миллион долларов, а тогда миллион долларов был немалой суммой. Поэтому у меня нет сожалений насчет того, что жизнь могла бы сложиться иначе. И потом, я принимаю все таким, как есть.
Сейбел: В чем больше всего изменились ваши взгляды на программирование по сравнению с теми годами? Кроме того, что теперь вы понимаете, что пузырьковая сортировка — не лучший способ?
Стил: Пожалуй, вот что: сейчас невозможно знать абсолютно все, что происходит внутри компьютера. Есть вещи, вам неподвластные, — сегодня невозможно знать все о всем программном обеспечении. В 1970-е память компьютера вмещала только 4000 слов. Можно было сделать дамп ядра и проверить каждое слово. По распечаткам исходного кода операционной системы можно было понять, как она работает. Я изучал утилиты для работы с диском и с устройством для чтения перфокарт, создавал свои варианты. И мне казалось, что я понимаю, как работает вся IBM 1130. Ну, или понимал в этом достаточно для себя. Сейчас все не так.
Сейбел: Вам помогали книги?
Стил: В 1970-е — конечно, да. Например, «Искусство программирования» Кнута.
Сейбел: Вы прочли ее от корки до корки?