Сейбел:Что вы там изучали?
Аллен:Там был компьютер IBM 650 - он весьма отличался от привычных нам сегодня компьютеров, и студенты учились на нем программировать. Это включало не только изучение всех свойств компьютера и написание кода - на ассемблере, естественно, - но и запуск своих программ на компьютере. Результат был абсолютно наглядным.
Сейбел:То есть вы набивали перфокарты, сами несли их к компьютеру и пропускали через него?
Аллен:Верно. А потом шли и исправляли. Это была машина с магнитным барабаном - барабан постоянно вращался, на нем и были записаны твои инструкции. Поэтому, чтобы все работало быстро, нужно было рассчитывать положение программ на барабане таким образом, чтобы при каждом новом обороте каждая новая программа располагалась на нужном месте.
Сейбел:А потом появились агенты по найму из IBM. Чем вас привлекла работа на IBM?
Аллен:Если честно, мне просто нужна была работа. У меня были долги, агент пришел прямо в кампус, и располагались они удачно - в штате Нью-Йорк. Так что я заполнила анкету, на самом-то деле толком не понимая, что за организация предлагает мне работу, что это за исследовательский центр IBM. Я тогда о них ничего не знала.
Несколько недель спустя мне позвонили - в то время я пыталась устроиться на работу в педагогический колледж в южном Иллинойсе. Я уже начинала отчаиваться - все никак не могла найти работу. Мне позвонили, когда я была в пути, и я согласилась - ровно ничего не зная о компании, и только заполняя бумаги выяснила, что речь идет об исследовательской лаборатории в Пафкипси.
Я устроилась туда и начала работать программистом. Компания IBM стремительно расширялась, их интересовала сфера информационных технологий, а поскольку не существовало никаких курсов по компьютерным наукам, то они нанимали людей отовсюду, откуда могли.
Сейбел:Чему вас там обучали?
Аллен:Насколько помню, это было своего рода обучение на ходу. Существовала определенная ориентация на нужды компании, но не могу припомнить, чтобы там были курсы по изучению программирования как таковые, что сейчас кажется немного странным. Кажется, были курсы, специфика которых зависела от подготовки того или иного сотрудника. Все проходило в очень неформальной обстановке.
Поскольку я была учителем математики, моим первым заданием стало обучение исследователей и других программистов языку Фортран. Я устроилась на работу в июле 1957 года, а Фортран был выпущен 15 апреля того же года. В моей же организации - исследовательском центре IBM - был выпущен указ, согласно которому к сентябрю все программы должны были писаться на Фортране. Это был их метод убедить собственных сотрудников - как и людей вне компании - использовать этот язык.
Сейбел:То есть речь идет об исследователях, работавших в IBM над собственными научными проектами?
Аллен:Да. У них был компьютер 704 - именно для работы на нем и был создан и оптимизирован Фортран. Они привыкли, что код на ассемблере можно было писать прямо на компьютере, то есть так же, как я делала в университете Мичигана, привыкли планировать время и запускать программы. Они не верили, что с помощью любого из высокоуровневых языков можно будет получать результаты, хотя бы сравнимые с получаемыми при программировании непосредственно самого компьютера.
Сейбел:И это был последний раз, когда ученые перешли на новый язык, - ведь они до сих пор используют Фортран, не так ли?
Аллен:Верно. Да, это был неудачный курс. Но в конце концов это был прекрасный опыт для всех нас, ведь Фортран был не только языком - в рамках этого проекта был разработан чрезвычайно передовой компилятор, который заложил структурные основы современных компиляторов.
Сейбел:Следующий ваш крупный проект, о котором я знаю, - это компьютер Stretch. Было ли что-нибудь в промежутке между этими двумя проектами?
Аллен:Да, были еще два проекта, над которыми я работала после Фортрана и перед компьютером Stretch. Один из них - разработка управляемой автоматической отладочной системы на ассемблере для компьютера 704. Мне очень нравилось работать над этим проектом.
Это была весьма незрелая операционная система. Мы ее делали втроем. Мы установили на компьютере несколько кнопок - тогда это можно было сделать, - одной из которых была аварийная кнопка. Когда казалось, что программа зависла, можно было просто нажать эту кнопку. Затем мы писали отладчик; одной из моих задач было написать на ассемблере программу, которая бы располагала двоичные данные по колонкам. Устройство считывания с перфокарт представляло данные в виде построчного двоичного кода, когда биты каждой инструкции располагаются в строке, но на ленте данные представлялись по-другому. Вот и требовалось организовать поколонное двоичное представление. Эту программу я храню до сих пор.
Читать дальше
Конец ознакомительного отрывка
Купить книгу