Кодеры за работой. Размышления о ремесле программиста
Шрифт:
Сейбел: Кем вы себя ощущаете - ученым, инженером, художником или ремесленником?
Аллен: Я специалист в области компьютерных наук. Работая в своей узкой области, я помогала развиваться этой дисциплине. Это были интересные времена - когда компьютерные науки только появились, - потому что были вопросы “А наука ли это? Если в названии чего-то есть слово „наука", наукой это не является”. Тогда мне было совсем непонятно, что этот термин означает.
Но компиляторы - это очень старая область, старше разработки операционных систем. Как-то я решила узнать об этом побольше. Слово “компилировать” в исходном
Но ассемблеры также использовали символы. Не уверена, что это правда, но раньше я считала, что впервые символьные имена для переменных использовал человек по имени Нэт Рочестер, работавший над одной из первых машин (IBM 701) где-то в 1951 году. Он занимался ее тестированием, и они писали программы, чтобы тестировать компьютер. В процессе тестирования они стали использовать символические переменные. Но с тех пор мне приходилось сталкиваться со свидетельствами того, что информацию представляли в символическом виде и раньше. Мне кажется, это стали делать в начале 1950-х, или даже в 1940-х. Например, стоит найти и посмотреть, как все записывалось и выражалось в ENIAC.
Сейбел: То есть в какой-то момент вы поняли, что стали специалистом в области компьютерных наук, создателем теорий об оптимизации компиляторов и так далее. Но начинали вы как программист, вас нанимали для того, чтобы вы писали код. На момент работы над проектом PTRAN вы уже руководили командой программистов, непосредственно писавших ПО. Почему вы тогда решили все изменить?
Аллен: Что ж, вероятно, причин было две. Во-первых, я не была очень хорошим программистом. Я часто делала небольшие ошибки, опровергая тогдашнее расхожее мнение, что из женщин получаются хорошие программисты, поскольку они уделяют внимание мельчайшим деталям. Я была не из их числа. Мне скучно было приводить в порядок все мелочи - гораздо интереснее было разбираться в том, как работают системы.
Математикой я заинтересовалась, потому что меня всегда привлекали абстрактные понятия. Если бы у меня тогда хватило денег на получение степени PhD, я бы стала заниматься геометрией. Мне нравились строгие процессы. Больше всего мне нравится разгадывать внутренние загадки систем - своего рода инженерные загадки, - не обладая детальными знаниями, которые требуются для того, чтобы быть собственно инженером, - это совсем другая область.
Сейбел: Ваш технический вклад в проект PTRAN, судя по всему, заключался в цельности вашего взгляда на архитектуру всего проекта, на его работу; кроме того, вы могли указать на те вещи, о которых нельзя было уверенно сказать, как они будут работать.
Аллен: Точно.
Сейбел: Как по-вашему, эта способность у вас была изначально или развилась со временем?
Аллен: Мне кажется, отчасти дело в том, что я выросла на ферме. Если вы посмотрите на многие интересные инженерные решения, появившиеся в нашей области - в то время или чуть пораньше, - то увидите, что большинство этих идей привнесено теми, кто рос на ферме. Я обнаружила это благодаря коллегам по Национальной академии машиностроения - очень многие из старшего поколения были выходцами
Сейбел: Кроме того, ферма - это большая система устройств ввода и вывода.
Аллен: Верно. И поскольку она тесно связана с природой, то у нее свои циклы, своя собственная система, с которой ничего не можешь сделать. Поэтому находишь себе в ней место — и весьма удобное.
Сейбел: Вы говорили о том, что когда пришли работать над компилятором для Stretch, три из четырех ключевых разработчиков этого проекта были женщины. Вы не могли бы рассказать, как это получилось?
Аллен: Дело было в 1959 году или около того. Женщины играли тогда очень важную роль в программировании. И IBM в этом плане всегда была очень прогрессивной компанией. Недавно я посмотрела кое-какие архивы - политика равных возможностей IBM берет свое начало аж в 1899 году, то есть эта политика всегда была очень последовательной и открытой - даже тогда, когда этой проблеме почти не уделялось внимания.
Сейбел: Вы считаете, что количество женщин в этом проекте было прямым следствием заявленной политики компании - что в IBM должно работать больше женщин?
Аллен: Не думаю, что это было озвучено как “Мы должны нанимать больше женщин”. Критерий был один - наличие квалификации, и под этот критерий подпадали не только женщины. Те времена были тяжелыми для афроамериканцев, и IBM здесь проявила себя с лучшей стороны. Рассказывают, хотя это и не широко известно, что в Пафкипси (Poughkeepsie) в то время белые жили отдельно от афроамериканцев, и IBM изменила эту ситуацию.
Сейбел: В одном интервью вы рассказывали историю об одной конференции, когда вы пришли и представились “Фрэн Аллен”.
Аллен: А они в ответ: “Вы женщина!”
Сейбел: “А мы вас поселили в одну комнату с Джином Амдалом”.
Аллен: Да, помню. Это была конференция IBM, где мы переводили проект System Y, создававшийся здесь, на Западное побережье для разработки продукта и переименовали в ACS. Это была большая конференция - она проводилась в Harriman Estate на другом берегу. Все участники были - кроме, может быть, одного-двух человек - сотрудниками IBM. Администратором был человек с Западного побережья, который никого из нас не знал. Вот и расселил всех в алфавитном порядке.
Сейбел: Но все-таки они с вами разобрались и нашли вам комнату?
Аллен: Да, комнату для горничных, под крышей.
Сейбел: Вы подписывали свои публикации именем Фрэн или Фрэнсис?
Аллен: Ф. Е. Аллен. Не помню, почему я так делала. Думаю, так было принято - по крайней мере тогда - писать только инициалы.
Сейбел: Вы также сказали, что когда начинали работать, считалось, что из женщин получаются хорошие программисты - из-за их склонности проверять все до мелочей. А сегодня бытует мнение, что именно мужчины могут сосредоточиться на чем-то одном, как правило, в ущерб всему остальному, и именно поэтому среди программистов так много мужчин.