Кодеры за работой. Размышления о ремесле программиста
Шрифт:
Томпсон: Сейчас все еще хуже. Операционная система не только дана - она обязательна. Поговорив сейчас с выпускниками компьютерных специальностей, вы увидите, что они совсем не понимают базового уровня. Очень, очень страшно за то, как они далеки от понимания того, что такое компьютер или хотя бы теория вычислений. Они просто ничего не понимают.
Сейбел: Я все думаю о вашем совете сыну - заняться биологией вместо компьютеров. Нет ли в программировании чего-то такого - интеллектуального удовольствия от определения процесса, который эти волшебные машины могут для вас выполнить, - вроде как ты работаешь с железом, но на очень абстрактном уровне?
Томпсон:
13. Фрэн Аллен
В 1957 году Фрэн Аллен собиралась стать учителем математики, но поскольку ей нужны были деньги, чтобы выплатить кредиты на обучение в университете, она временно (как тогда казалось) устроилась программистом в исследовательский центр IBM. Началом ее деятельности стало преподавание ученым IBM недавно созданного языка Фортран.
Учителем Аллен так и не стала - она проработала в IBM 45 лет и занималась рядом проектов по созданию компиляторов, в том числе компиляторов для компьютера STRETCH-HARVEST и для грандиозного, но так никогда и не законченного суперкомпьютера ACS-1. Кроме того, она работала над собственным проектом PTRAN, в рамках которого были разработаны технологии автоматической параллелизации программ на Фортране и создана система промежуточного представления SSA (Static Single Assignment), которая сейчас широко используется как в статических, так и в динамических (ЛТ) компиляторах.
В 2002 году Аллен была удостоена премии Тьюринга “За новаторский вклад в теорию и практику технологий оптимизационных компиляторов”, став, таким образом, первой женщиной, получившей эту награду, за 40 лет существования премии. Кроме того, она стала первой женщиной, удостоенной звания действительного члена научного общества IBM - высшего почетного звания в компании для технического сотрудника. Кроме того, она является почетным членом научного общества Института инженеров электротехники и электроники (IEEE) и Ассоциации вычислительной техники (АСМ), а также членом Национальной академии инженерных наук, Американской академии искусств и наук и Американского философского общества.
На протяжении всей своей карьеры Аллен видела, как менялась роль женщины в сфере информационных технологий - от первых лет, когда компании, вроде IBM, нанимали именно женщин на новую и непонятную должность “программиста”, до последних десятилетий, когда в этой области стали преобладать мужчины.
В беседе мы обсудили особенности этих изменений, необходимость предоставления равных возможностей в сфере информационных технологий и пагубное влияние, которое язык Си оказал на компьютерные науки.
Сейбел: Как вы начали заниматься программированием? Я знаю, что в начале
Аллен: Для того чтобы получить лицензию учителя в штате Нью-Йорк, нужна была степень магистра. У меня были степень бакалавра по математике, вторая специальность - физика и двухлетний опыт преподавания. Затем я поступила в университет штата Мичиган, где углубилась в изучение математики. Для того чтобы получить степень магистра в университете Мичигана, нужна была вторая дополнительная специальность - и я выбрала вычислительные системы. Компьютерных наук тогда, в 1957 году, еще не было. Лишь 10 лет спустя они всерьез заявили о себе. Но в инженерной школе было несколько курсов.
Сейбел: Что вы там изучали?
Аллен: Там был компьютер IBM 650 - он весьма отличался от привычных нам сегодня компьютеров, и студенты учились на нем программировать. Это включало не только изучение всех свойств компьютера и написание кода - на ассемблере, естественно, - но и запуск своих программ на компьютере. Результат был абсолютно наглядным.
Сейбел: То есть вы набивали перфокарты, сами несли их к компьютеру и пропускали через него?
Аллен: Верно. А потом шли и исправляли. Это была машина с магнитным барабаном - барабан постоянно вращался, на нем и были записаны твои инструкции. Поэтому, чтобы все работало быстро, нужно было рассчитывать положение программ на барабане таким образом, чтобы при каждом новом обороте каждая новая программа располагалась на нужном месте.
Сейбел: А потом появились агенты по найму из IBM. Чем вас привлекла работа на IBM?
Аллен: Если честно, мне просто нужна была работа. У меня были долги, агент пришел прямо в кампус, и располагались они удачно - в штате Нью-Йорк. Так что я заполнила анкету, на самом-то деле толком не понимая, что за организация предлагает мне работу, что это за исследовательский центр IBM. Я тогда о них ничего не знала.
Несколько недель спустя мне позвонили - в то время я пыталась устроиться на работу в педагогический колледж в южном Иллинойсе. Я уже начинала отчаиваться - все никак не могла найти работу. Мне позвонили, когда я была в пути, и я согласилась - ровно ничего не зная о компании, и только заполняя бумаги выяснила, что речь идет об исследовательской лаборатории в Пафкипси.
Я устроилась туда и начала работать программистом. Компания IBM стремительно расширялась, их интересовала сфера информационных технологий, а поскольку не существовало никаких курсов по компьютерным наукам, то они нанимали людей отовсюду, откуда могли.
Сейбел: Чему вас там обучали?
Аллен: Насколько помню, это было своего рода обучение на ходу. Существовала определенная ориентация на нужды компании, но не могу припомнить, чтобы там были курсы по изучению программирования как таковые, что сейчас кажется немного странным. Кажется, были курсы, специфика которых зависела от подготовки того или иного сотрудника. Все проходило в очень неформальной обстановке.
Поскольку я была учителем математики, моим первым заданием стало обучение исследователей и других программистов языку Фортран. Я устроилась на работу в июле 1957 года, а Фортран был выпущен 15 апреля того же года. В моей же организации - исследовательском центре IBM - был выпущен указ, согласно которому к сентябрю все программы должны были писаться на Фортране. Это был их метод убедить собственных сотрудников - как и людей вне компании - использовать этот язык.