Моя бабушка — программист

:

Я — программист в третьем поколении: первым программистом в семье была моя бабушка, потом моя мама, а теперь традицию продолжила я. Я попросила бабушку рассказать, как выглядела ее карьера, начавшаяся более полувека назад.
1954-1959. Высшее образование

По справочнику для абитуриентов, в котором описывались существующие вузы, факультеты и специальности, бабушка выбрала мехмат Киевский национальный университет им.Шевченко. Школу бабушка закончила с серебряной медалью, которая в те времена упрощала процедуру поступления до устного собеседования.

Факультет кибернетики открылся только десять лет спустя, а пока что мехмат готовил специалистов по математике и теоретической механике. При поступлении не было разделения по будущим специализациям — первые два курса учились все вместе, а на третьем делились по специальностям. Бабушкин выпуск 1959 года был первым, в котором появилась специализация «вычислительная математика». В рамках этой специализации читались теоретические курсы, совершенно новые для того времени: программирование, устройство аналоговых машин, устройство цифровых машин, вычислительные методы (в основном методы решения дифференциальных уравнений и задач линейной алгебры)… На лекции ходили не только студенты, но и сотрудники Вычислительного центра Академии наук — других источников нового знания часто не было.



Вкладыш в диплом со списком предметов

С практикой было сложнее. Компьютеры — тогда еще «электронно-вычислительные машины» — были штучными изделиями, которые университет себе позволить не мог. Поэтому в течение учебного года начитывали теоретический материал, а летом студенты отправлялись на практику туда, где ЭВМ были. После третьего курса у бабушки была практика на киевской МЭСМ. До реальных задач студентов не допускали, а я подозреваю, что персонал МЭСМ с удовольствием не допустил бы студентов и до самой машины: практика началась с того, что какой-то сердобольный студент пожалел пыльный механизм и тщательно вытер с него толстый слой пыли, после чего сбились контакты всех протертых ламп, и машину пришлось перенастраивать заново. Занимались на практике учебными задачами, в том числе программированием игр. Студент выбирал игру, например, крестики-нолики, штудировал популярные журналы, в которых описывались алгоритмы игры, и кодировал их. После этого программу можно было запустить на ЭВМ и получить ее вывод, чтобы проверить, как она отработала.

После четвертого курса на преддипломную практику бабушка уехала в Москву, работать в МГУ на машине «Стрела». Задачи были уже посерьезнее, но все еще учебные, в основном линейная алгебра.

Языков программирования как таковых еще не существовало — примерно в это время на Западе только появились Algol и FORTRAN. Весь научный Киев собирался слушать доклады про Algol-60 В.М.Глушкова, директора ВЦ АН УССР, по материалам его поездки в США. Но до внедрения языков программирования у нас было еще далеко. Все машины тех времен работали на машинных кодах — каждая на своей системе.

1959 — 1965. Вычислительный центр Академии наук УССР

У нас, кроме докторов и кандидатов, есть люди, которые работают!
Феофан Степанович, зам. дир. по хоз. части

После университета моя бабушка работала в Вычислительном центре АН УССР — сначала простым инженером, потом старшим и, наконец, ведущим. Всего в то время в штате ВЦ было порядка 300 человек: инженеры-программисты, инженеры-техники, специалисты по аналоговым машинам (основными были все-таки цифровые) и тестировщики, которые проверяли результаты работы программ на рейнметаллах (немецких электромеханических счетных машинах).

Чем занимались сотрудники ВЦ, не задействованные в разработке новых моделей ЭВМ, в том числе и бабушка? В наше время это назвали бы аутсорсингом — ВЦ заключал договора с организациями, которые нуждались в численных решениях каких-то задач, представители организаций задачи формализовали, а сотрудники — решали и кодировали. Так, например, одной из задач отдела был расчет оптимального режима для конвертеров Бессемера. Бабушка решала задачи строительной механики.

Из ЭВМ в ВЦ были сначала «Киев», потом — трехадресная БЭСМ. Машинные коды, перфокарты (а до них — перфоленты, которые делались из засвеченных кинолент) — и множество историй, каких уже не услышишь в наши дни. О людях, которые в задумчивости или в нервах перетасовывали колоду неподписанных перфокарт. О том, как к ЭВМ водили экскурсии людей, далеких от программирования, и объясняли им принцип работы машины. Один из них задал один и тот же вопрос несколько раз; после очередного объяснения, когда нервы экскурсовода были уже на пределе, он возмутился «Ну что вы мне объясняете, мне-то давно понятно, но вот она» — жест в сторону мирно шуршащей ЭВМ — «она-то как понимает?». О том, что машинного времени всегда не хватало, поэтому математики часто работали по ночам — а перфораторная закрывалась в конце рабочего дня. Ночью приходилось править перфокарты с кодом вручную — прорезать недостающие отверстия и заклеивать лишние кусочками картона, оставшимися от автоматического перфорирования. Операторы ЭВМ перфокарты ручной работы не одобряли — прорезанные еще ничего, а вот приклеенные кусочки могли отвалиться внутри устройства ввода и вывести его из строя. Впрочем, обычно победа оставалась за светлой стороной силы — математиками.

1965 — 1988. Зональный научно-исследовательский институт экспериментального проектирования (ЗНИИЭП)
1988 — 1996. Научно-исследовательский институт теории архитектуры и градостроительства (НИИТАГ)

В 1965 году бабушка перешла в ЗНИИЭП на должность главного специалиста, позднее главного инженера проектирования. Эта организация уже меньше занималась аутсорсингом, а в основном решала свои собственные задачи — проектировала жилые и общественные здания, программировали методы расчета конструкций и решали задачи автоматизации проектирования (создавали специализированные чертежные инструменты типа AutoCAD).

О, вечная проблема тех времен — машинное время! Частично его арендовали в ВЦ, частично — пользовались своей собственной машиной, «Наири». Машина была армянского происхождения, и позволяла вводить программы не только в кодах, а и на внутреннем языке программирования — кириллическом, но с соответствующим акцентом. Вот из-за этого акцента и произошла следующая история. Написанные и отлаженные программы обсчета элементов собирали воедино и издавали в виде печатных брошюр, которыми пользовались для переноса программ на другие машины или для последующей работы. К изданию брошюр подходили ответственно, и перед публикацией тщательно их вычитывали. Однажды сборник программ для «Наири» попал в руки корректора, который не очень представлял себе ее язык программирования, но очень болел душой за чистоту русского языка в рядах программистов. Результат? «Вычитанные» программы, идеально правильные с грамматической точки зрения, напрочь перестали работать на языке «Наири».

Работа программиста в ЗНИИЭП предполагала частые командировки — в города СССР к организациям-заказчикам, для уточнения постановки задачи, и в другие страны — для обмена опытом. Конечно, большинство выпускали только в страны соцлагеря, общение с программистами капиталистических стран проходило исключительно на уровне руководства, но поездки в Болгарию и гости из Венгрии и Чехословакии — тоже неплохо.

Кстати, сложно сказать, насколько экзотической виделась работа программиста людям непосвященным в то время — бабушкин муж и все их друзья и знакомые были из той же или смежных профессий.

Какого-то особенного отношения к женщинам-программистам не было — их было много и в университете, и на работе, и никого это не удивляло. По всей видимости, возмутительный стереотип о морских свинках определенно принадлежит более позднему периоду.