ли активно и тесно взаимодействуют производство и наука?
Аллен: Несколько лет назад национальный научный фонд опубликовал чудесный отчет с диаграммой на целую страницу, в котором было показано, откуда выросли самые доходные отрасли, такие как графика, Интернет, высокопроизводительные вычисления, транзисторы. Эти производства с оборотом в несколько миллиардов долларов были расположены по оси Y, а по оси X было показано время их зарождения, роль производства (по лаборатории) и роль науки.
Некоторые начинали с производства, некоторые - с науки. Вместе они примерно одинаково повлияли на создание этих отраслей с многомиллиардными оборотами. Мне кажется, что по-настоящему важным является сохранение этого взаимодействия - чтобы идеи, технологии, методы и вложения постоянно курсировали туда и обратно.
В настоящий момент, учитывая курс США на поддержку инноваций, на их важность, думаю, в плане взаимодействия у нас все хорошо - в плане совместной работы и совместного решения проблем. А также решения проблем, которые защищают нас от новых проблем, которые нужно решать, в том числе проблем интеллектуальной собственности.
Сейбел: Нельзя сказать, что IBM в этом отношении абсолютно чиста.
Аллен: Конечно, нет.
Сейбел: У вас наверняка есть несколько патентов.
Аллен: Нет, ни одного. Отчасти из-за того, что раньше на ПО нельзя было получить патент. Другая причина заключается в том, что я часто работала на переднем крае индустрии, а лучшим способом внедрить что-либо в IBM была публикация, и нередко другие компании подхватывали мои идеи. Я была больше заинтересована в том, чтобы реализовать идею в продукте, нежели в том, чтобы получить патент.
Сейбел: То есть это было проще, чем убедить кого-либо из IBM создать продукт на основе вашего исследования?
Аллен: Сейчас мы намного эффективнее работаем в этом плане. Но раньше от хорошей исследовательской идеи до продукта зачастую пролегал очень долгий путь.
Сейбел: Раз уж вы заговорили о том, что получение премии Тьюринга заставило вас поразмышлять над всей своей карьерой, есть ли одно понятие, объединяющее всю вашу деятельность?
Аллен: Думаю, мою карьеру и то, как я работаю, можно описать одним словом: исследование. Я люблю исследовать углы и края - идей, проектов, физической действительности, людей - чего бы то ни было - и мне это очень нравится.
Но есть и другая сторона - я хорошо стартую, но не финиширую. Меня привлекают новые вещи. Компиляторы были просто одной из превосходных областей применения сил, поскольку, работая с компьютерами, я постоянно наталкивалась на новые сложные задачи. И по мере их решения я встречала все больше новых сложных и интересных задач.
14. Берни Козелл
В 1969 году, когда первые два узла сети ARPANET - основы будущего Интернета - были введены в строй, каждый пакет данных, передававшийся по арендованным линиям с пропускной способностью 50 Кбит/с, направлялся через два специальных компьютера, носивших название Interface Message Processors (Интерфейсные процессоры сообщений), или IMP. Эти IMP были спроектированы и созданы компанией Bolt Beranek and Newman (BBN), а управлявшие ими программы писали три программиста, одним из которых был Берни Козелл, ушедший с третьего курса Массачусетского технологического института (MIT) ради работы в BBN.
Первоначально нанятый как программист приложений в проекте по созданию одной из первых систем разделения времени, Козелл быстро перешел к программированию самой системы и вскоре стал “царем системы разделения времени PDP-1”, ответственным за завершение кода операционной системы и поддержку работы системы.
За свою 26-летнюю карьеру в BBN Козелл занимался практически всем, заслужив в компании репутацию мастера-отладчика и “умельца”, который может спасти любой неудачный проект. Он программировал просто для развлечения: чтобы отточить свое мастерство владения Лиспом, он написал DOCTOR - версию знаменитого виртуального собеседника Элиза - по описанию в журнальной статье автора программы Джозефа Вейзенбау-ма. Написанный на языке BBN-LISP, широко распространившемся по сети ARPANET вместе с операционной системой TENEX, DOCTOR Козелла стал популярнее оригинала Вейзенбаума, вдохновив других программистов на новые версии и похожие программы.
В 1991 году Козелл ушел из BBN и купил овцеводческую ферму в Виргинии, где и проживает сейчас с женой Линн, тремя собаками, бесчисленными котами и большим стадом овец. Он немного программирует для местного интернет-провайдера, занимается собственными проектами и читает несколько курсов по программированию и компьютерной безопасности в высшей школе, не желая больше быть профессиональным программистом. Ирония судьбы в том, что после переезда в сельскую местность Ко- зеллу - одному из отцов современного Интернета - дома сейчас доступно только соединение по телефонной линии.
В своем интервью Козелл рассказал о том, как ему удалось заработать репутацию мастера-отладчика программ, о важности написания ясного кода и о том, как он убедил остальных программистов проекта IMP перестать латать дыры в двоичном коде.
Сейбел: Когда вы начали программировать?
Козелл: В старших классах. Не знаю, правда это или нет, но говорили, что наша школа чуть ли не первой в стране обзавелась собственным компьютером. IBM подарила нам свою модель 1620. Думаю, она появилась в нашей школе за год до меня или тогда же, то есть в 1959 году.
Сейбел: В какой школе вы учились?
Козелл: В научной школе Бронкса в Нью-Йорке. Думаю, те, кто учились до нас, работали еще на IBM 650 Колумбийского университета. Но декан математического факультета был чрезвычайно горд, что у них есть собственный компьютер. Он даже написал учебник по программированию, а в то время их было совсем мало. В итоге я отлаживал все примеры его программ. Практически все, что я помню о старших классах, - это то, как я учился программировать.
Сейбел: Как вы тогда программировали? Ассемблер на перфокартах?
Козелл: Да. В основном на перфокартах, но у модели 1620 уже была своя консоль ввода/вывода; ее роль играла электрическая пишущая машинка IBM Selectric. С ее помощью можно было вводить программы. Чтобы вы поняли, что это была за эпоха: в компьютере не было арифметического блока. Для арифметических действий использовалась таблица, хранящаяся в памяти машины. Например, при сложении двух чисел одно из них давало номер ряда, другое - колонки, а результат находился на их пересечении. Частью создания любой программы был ввод в соответствующий раздел памяти таблиц сложения и умножения.
Так что, в принципе, можно было пользоваться пишущей машинкой, но чаще мы набивали перфокарты и загружали их. Для этого был и Фортран, но я его мало использовал и чаще пользовался ассемблером 1620.
Другой полезный навык, который я освоил в старших классах, - подключение оборудования через коммутационную панель. На каком-то этапе у нас появились, кажется, старые печатающие устройства модели 403, и я занимался их подключением. Это было просто, даже тогда, но десять лет спустя, уже во время работы в BBN, этот опыт мне пригодился. Как-то раз нам понадобилось собрать панель и я сказал: “Дайте инструкцию мне”. В результате мне удалось подключить по простому протоколу старое печатающее устройство, чтобы оно служило строковым принтером для нашей PDP-1.
Сейбел: Между школой и работой в BBN еще был MIT?
Козелл: В 1963 году я закончил школу и сразу поступил в MIT. Там было сильное