Анатолий Слюсарь начинал карьеру, работая на ЭВМ ЕС-1022 в вычислительном центре Ленинградского обкома КПСС (Ленинградское отделение НИИ Автоматической аппаратуры, в дальнейшем — ЛФ НИИ «Восход»). В интервью он вспоминает, как работали программисты 1980–1990-х и дает оценку единой серии. По словам Анатолия Владимировича, именно на этих машинах выросло первое массовое поколение российских программистов и был приобретен успешный опыт локализации зарубежного ПО.
— Математикой я увлекся еще в школьные годы. В 38-й физико-математической школе, делившей с «тридцаткой» лавры лучшей в Ленинграде, были очень хорошие учителя. Вопросов, куда идти дальше, не возникало — либо на матмех, либо на физфак ЛГУ. Я выбрал матмех.
Поначалу вычислительная техника меня не сильно интересовала. Я занимался математическим анализом и вроде бы должен был пойти в аспирантуру. Но на пятом курсе попал на практику в вычислительный центр, и мне все понравилось. Договорился с ними так: вы мне платите зарплату лаборанта, а я за это к вам приду по распределению. Получилось, что и мне хорошо, и контора не прогадала.
— То есть ваше знакомство с вычислительной техникой фактически состоялось уже в самом вычислительном центре?
— Да. Пришел на практику, а оказалось, что это работа на всю жизнь.
Анатолий Владимирович Слюсарь, конец 1970-х гг.
Вычислительный центр обкома партии
— Вычислительный центр, о котором идет речь, решал задачи для Ленинградского обкома партии. Оснащался он очень хорошо. К моменту моего выхода на работу (ЛГУ я окончил в 1978-м) там уже работала ЕС-1022. Понятно, что первое время меня в машинный зал не пускали. Машинное время в советские времена стоило дороже времени программистов и других сотрудников и строго делилось между направлениями. Электронщики — те, кто настраивал железо, — делали это обычно ближе к ночи. Системные программисты занимались настройкой операционной системы по вечерам. Сам рабочий день делился между отделами программистов. Отделов было много, программистов тоже, но машина работала в однопользовательском режиме. Поэтому в каждый конкретный момент ей занимался один человек. Машинное время строго распределялось между опытными сотрудниками — минут по 10–15 каждому, а новички работали только за столом в комнате.
Программисты ЛФ НИИ «Восход», 1980 год
— Как вы программировали?
— Сейчас это сложно представить. Ты сидишь, пишешь программу на бумаге. Рисуешь блок-схемы, параллельно оформляешь какую-то документацию. Написав программу, начинаешь ее на бумаге отлаживать, много раз проходя по тексту, подправляя, дополняя, изменяя. Наконец она готова к отладке на машине.
Привычных нам сейчас устройств ввода информации не было. Ввести программу можно было либо с перфокарт, либо с перфолент. С перфолентами мы практически не работали, потому что они достаточно нежные, и исправлять код программы на них неудобно. На перфоленту можно было записать уже полностью отлаженную программу. Я делал это позже, когда мы программировали для станков с числовым программным управлением.
Сам ввод перфоленты в машину — завораживающее зрелище. Устройство достаточно быстро ее считывает, и на выходе она начинает красиво укладываться в корзину — как у девушек из художественной гимнастики.
Но это было позже, а когда я только пришел, мы набивали программы на перфокартах. Стандартная перфокарта, 80 позиций. Соответственно, не более 80 символов в строке. Сначала я писал на языке PL/I, потом, когда задачи изменились, больше стал работать на Ассемблере.
Санкт-Петербург, Московский проспект, 108. Здесь в здании бывшей Чубыкинской богадельни находился вычислительный центр Ленинградского обкома КПСС. Сейчас его занимает музыкальная школа
— Как набивались программы?
— На специальном устройстве. Оно было очень шумным, стояло в отдельном помещении. Каждая строчка программы набивалась на отдельной перфокарте. Поскольку символы, которые пробиты, сверху не надпечатывались, перфокарточные коды каждого символа приходилось заучивать — иначе не найти ошибку. Если ошибка в перфокарте небольшая, мы заклеивали эти дырочки и перебивали. Но, конечно, чаще приходилось заново перебивать всю перфокарту.
Представьте: программа в 500 строк, большая колода перфокарт. Не дай бог ее, набитую, случайно рассыпать. Потом уже не собрать. У нас были мастера, которые умели читать перфокарты, и в конце концов всем пришлось научиться это делать, чтобы правильно потом сортировать. Даже если вы пронумеровали колоду, нумерация меняется, когда вы меняете алгоритм, переставляете блоки…
— Когда программа была набита, начиналась ее отладка?
— Да. Приходишь в машинный зал, вставляешь колоду в устройство считывания перфокарт, она «чух-чух-чух» — считывается и, если не было ошибок считывания, запускается обработка. На ЕС ЭВМ был язык управления заданиями (JCL — Job Control Language), который позволял оформить вызов компилятора для введенной программы. Второй этап — подключить к вашей программе другие вызываемые системные или прикладные программы. Говоря современным языком, указать библиотеки подключаемых программ, после чего начинает работать исполняемый код.
У ЕС ЭВМ была консоль — пишущая машинка такая, которая позволяла управлять процессом, вводя команды и отвечая на вопросы системы. А главный результат выводился на АЦПУ — алфавитно-цифровое печатающее устройство. Назвать его принтером нельзя, потому что там были только алфавитно-цифровые символы. Результат получали на складывающейся перфорированной с двух сторон бумаге, потом шли разбираться с тем, что у нас получилось.
Алфавитно-цифровое печатающее устройство ЕС-7033 входило в состав ЭВМ БЭСМ-6 и ЕС ЭВМ
Бумага складывалась с задней стороны АЦПУ, надо было ее поправлять — она не всегда укладывалось в пачку — и накопившееся статическое электричество хорошо так дергало. Потом уже появились заземленные металлические цепочки, которые ложились вдоль бумаги.
Эти алфавитно-цифровые печатающие устройства были весьма ограничены в изобразительном плане, но находились умельцы, способные с помощью символов распечатать на них, скажем, Мону Лизу. Если смотреть издали, выглядело очень правдоподобно.
За спиной героини Лии Ахеджаковой одна из таких репродукций. «Служебный роман», 1977 г.
— В вашем центре были такие специалисты?
— Нет, но мы общались с другими организациями. Обмен информацией происходил через магнитные ленты. Они были либо большие — на них нам обычно поставляли дистрибутивы операционной системы или компиляторы для языков PL/1, COBOL, FORTRAN, — либо катушки поменьше. Конечно, мы для обмена использовали маленькие. Их можно было засунуть под брюки и вынести из организации, чтобы с кем-то обменяться информацией. Обменивались мы и вот этими картинками, и книгами. Печатали романы Стругацких, стихи Высоцкого, Окуджавы, Галича. Сэкономив бумагу, каждый мог распечатать себе то, что ему интересно почитать. Самиздат, конечно, строго карался, но это никого не останавливало.
— Какие задачи перед вами ставились?
— Так как вычислительный центр курировал обком партии, задачи решались для них. Выборы, учет коммунистов в Ленинграде, проведение собраний… Было у нас даже удаленное рабочее место. В обкоме стоял телеграфный аппарат, а у ЕС ЭВМ был интерфейс для взаимодействия по телеграфным каналам связи с этим вот удаленным терминалом. То есть мы могли выводить туда какие-то важные показатели, а оттуда принимать какие-то команды. Приходилось обслуживать и сам вычислительный центр: его хозяйственную деятельность, зарплату сотрудников, учет кадров.
Статистические данные обком КПСС использовал, в том числе, и для агитации
ЕС-1022
— Вы в первый раз на практике в вычислительном центре. Заходите в машинный зал. Какие впечатления?
— Восторг! Помещение чистое, светлое, просторное. Шкафы с лентопротяжными механизмами, дисководы. Фальшпол достаточно высокий, потому что под ним прокладывали воздуховоды, кабели — интерфейсные и электрические.
Машина размещалась на третьем этаже — самом верхнем. Кстати, везде, где я работал, ее старались поднимать повыше. Думаю, это из-за грызунов. Чем выше разместишь, тем меньше вероятность порчи оборудования какими-нибудь мышами.
Выдержка из «Инструкции по проектированию зданий и помещений для электронно-вычислительных машин», 1979 г.
От работы мы получали удовольствие. Помогало и наличие консоли. На более старых машинах приходилось много кнопок на пульте нажимать, а здесь, грубо говоря, только «старт» и «пауза». Команды вводились уже с консоли. Потом у нас появились первые дисплейные комплексы.
— ЕС-1022 — базовая модель. Для нужд вычислительного центра ее мощности хватало?
— Да, хотя, например, оперативной памяти у нее было всего 256 килобайт. Современным программистам, конечно, не понять, как можно написать достаточно серьезную программу, которая будет работать при таком небольшом объеме. Первые диски были по семь с небольшим Мбайт — тарелки такие. Затем появились большие накопители на магнитных дисках емкостью 29 Мбайт. Весили они по шесть с лишним килограммов. Такой диск надо было поднять, поставить на шпиндель…
Лентопротяжные механизмы, как и сами ленты, оказались долгожителями. Даже на следующих моделях IBM — AS/400 — можно было с ними работать. Ленты регулярно перематывали, потому что при хранении они накапливали статическое электричество. Если долго не крутить туда-сюда, потом может сбоить. Ну а нагрузка на лентопротяжный механизм была такая, что узлы приходилось протирать спиртом. Спирт тогда выдавался хороший — трехлитровая банка в квартал. Получали его электронщики, но мы могли при этом присутствовать!
Царь Дадон
— Коллектив вычислительного центра был очень хорошим. Около ста человек — много молодых, люди старших поколений тоже интересные. Мы организовывали совместные мероприятия, постоянно ездили за город.
Большой коллектив был у электронщиков — там специалисты требовались по разным устройствам. Кто-то занимался лентопротяжными механизмами. Кто-то — памятью, процессором, устройствами считывания перфокарт, которые часто засорялись. Системные программисты занимались обновлением операционной системы и системного программного обеспечения. Ну а больше всех было прикладных программистов — человек 30. Начальники отделов получали задания и распределяли их между подчиненными. Мы делали программы, которые потом надо было совместить, объединить. Были и небольшие программы, которые разрабатывал, доводил до окончательного результата и сдавал один человек.
— Как осуществлялся допуск в машинный зал?
— По специальному значку в пропуске, который был очень похож на коня. В советских организациях значками определялся уровень допуска в разные помещения. Но помогало это не всегда. Твою работу на машине могли прервать, например, системщики, если им срочно что-то понадобилось. Однажды я даже сочинил на эту тему песенку:
Имею я на пропуске коня,
Хватаю быстро пачку перфокарт.
По расписанью время у меня,
Сотрудники завистливо глядят.
Но на машине царствует Дадон
И на дисплей стоит облокотясь,
«Ну, может быть, мне завтра повезет»,—
Подумал я, на место возвратясь.
Дадон — это фамилия начальника системщиков.
Правильный период
— Сколько вы отработали в обкомовском центре?
— Четыре года. Потом за своим начальником перешел в ЛНПО «Вектор» Министерства радиопромышленности СССР. Там была ЕС-1033, но я уже работал больше системным программистом. Принимал машину, ставил на ней операционную систему, дистрибутив которой поставлялся в исходных кодах на ассемблере. При установке операционной системы надо было сначала выполнить трансляцию большей части программ, а потом она настраивалась под конкретную конфигурацию ЕС ЭВМ: под ее периферийные устройства, объемы памяти. И вот на этих исходных текстах программ, полученных от IBM через НИЦЭВТ (научно-исследовательский центр электронно-вычислительной техники), мы учились программировать.
Санкт-Петербург, Кантемировская улица, 10. Здание ЛНПО «Вектор»
— На ваш взгляд, внедрение ЕС ЭВМ — правильное направление развития электронной вычислительной техники в СССР?
— Мне кажется, правильное. До появления ЕС ЭВМ в СССР было очень много всяких машин. Они не стыковались между собой ни по способам хранения данных, ни по алгоритмам. Обмен программами был затруднен при таком разнообразии. Мы могли развивать свое, но тогда отставали бы все дальше и дальше. Здесь же мы получили образцы техники. Понятно, что из-за эмбарго на поставку готовых машин собирать их приходилось в СССР. Но никто нам не запрещал покупать комплектующие. Архитектуру и операционную систему IBM не патентовал, их тоже можно было покупать, перерабатывать, использовать. Была единая архитектура, масштабируемость, более мощные процессоры, больше памяти. Они все были совместимы — по операционной системе, по способам хранения данных, по программному обеспечению. Я считаю, это был правильный период нашего развития, позволивший шагнуть вперед и обучить системных и прикладных программистов — они перенимали опыт программирования, который уже был в Америке.
— Отголоски «принять — не принять ЕС» из 1960-х до вас дошли?
— Я был тогда молод и об этом, конечно, не задумывался. Когда я пришел в вычислительный центр, ЕС ЭВМ уже начала там работать. Рядом в соседнем зале стоял «Минск-32», и не возникало никаких сомнений, что надо перенести все, что накоплено и наработало на нем, на ЕС. И что эта машина лучше той, тоже было очевидно.
— Кроме дистрибутива операционной системы, вам приходилось работать с американскими программами?
— Нет. Прикладное программное обеспечение все было свое. Наверное, системы для управления какими-то производствами можно было взять у американцев за образец, но у нас задачи были достаточно специфические. Это же центр обкома. Поэтому я знакомился с оригиналами только операционной системы, компиляторов с языков программирования.
Другие компьютеры
— Что было после ЛНПО «Вектор»?
— Я вернулся обратно — туда, где начинал. Они уже назывались НИИ Программных средств, и можно было решать более интересные задачи, не привязанные к обкому. В частности, я занимался разработкой отладчика специализированных операционных систем для ЕС ЭВМ. ЕС-1033 выпускалась в варианте для кораблей. На корабельные машины ставили операционные системы, которые управляли всем хозяйством судна, может быть, стрельбами, еще чем-то. Их надо было разработать и отладить. Отладчик этих систем я и создавал.
В процессе отладки надо было интерпретировать выполнение каждой команды, причем с хорошей скоростью. Когда результат получился, я кроме отладки операционной системы прогонял через эту программу, например, компилятор языка PL/1. Понял принципы работы компилятора, что позволило оптимизировать по объему и скорости работы получаемый код.
Программисты НИИ Программных средств, 1987 год
Это была интересная работа, и делали мы ее для московской организации. Приходилось часто ездить в Москву, сдавать, получать задания. Но только мы закончили эту разработку, начали сказываться негативные последствия перестройки, и в течение буквально двух лет (1988–1989) все стало сворачиваться. Финансирование резко сократилось, никто не знал, что делать, и многое, что было наработано, стало пропадать.
Потом, когда появились уже персональные компьютеры, вспомнили о наследии ЕС ЭВМ и на персоналках сделали эмуляторы для выполнения ее программ. Тот же «Пентиум»-166 прекрасно эмулировал ЕС-1033 и с той же скоростью выполнял ее программы.
— Когда в вашем поле зрения стали появляться другие компьютеры?
— В конце 1980-х. Я тогда уже подрабатывал в кооперативе. Несмотря на то что была основная работа, мы брали заказы на разработку программ для других компьютеров. Когда кооператив купил персоналки, я с ними и познакомился. Правда, на них уже не программировал. Организовывал эксплуатацию каких-то программ, готовил данные. Потом из кооператива я попал в Промышленно-строительный банк (Санкт-Петербург). Там как раз купили AS/400, и персоналки были у нас просто как рабочие станции, связанные с этой машиной. Я занялся организацией эксплуатации и теми же системными работами на AS/400 — установкой операционной системы, программ, которые мы закупали. Купили систему немецкую для автоматизации банковской деятельности, но на ней не пошло. Пришлось все переделать и разработать на AS/400 свою систему. Потом уже банк покупал готовые продукты у разработчиков.
Сервер серии IBM AS/400, созданной в 1988 году
— Дома у вас какие компьютеры были?
— Сначала «Спектрум», но не получилось его с телевизором состыковать (телевизор у нас был без необходимого блока). Потом появился «Вектор». В начале 1990-х его на работе дали жене, чтобы она разрабатывала программы. Первую персоналку я купил, когда начал работать в банке — деньги появились только тогда.
Компьютер «Вектор-06Ц», модель 1986 года
— Каким был «Вектор»?
— Вроде бы он был создан на базе того же процессора, что и «Спектрум». Дисплей уже графический, клавиатура. Помню, жена разрабатывала программу обучения десятипальцевому набору текстов. На экране отображалась клавиатура, загоралась клавиша, на которую надо нажать, и сверху падала бомбочка. Надо было успевать нажать до того, как бомбочка взорвется. Поначалу бомбочки на две клавиши, потом на 4, 5, 6, 8. В конце концов, вся клавиатура подключалась. Надо было успевать нажимать на нужную клавишу не глядя. Игра такая для обучения.
— Другие игры помните?
— Помню игры только на первых персоналках — ЕС-1840, ЕС-1841 (наши аналоги IBM PC). На них был тетрис, трехмерный тетрис. Уже позже я полюбил Doom.
— Вы жене помогали в ее домашней работе с «Вектором»?
— Однажды она получила задание, а времени для написания и отладки программы было немного. А я в то время еще имел доступ к ЕС ЭВМ. Поэтому разработал для ЕС ЭВМ компилятор исходного текста векторовских программ в машинный код и интерфейс для переноса этих данных на стандартную магнитофонную аудиокассету. На работе транслировал, записывал, дома мы могли отлаживаться и смотреть, как работает программа на «Векторе». Все это благодаря тому, что на ЕС ЭВМ работы у меня уже практически не было. Машина простаивала, и мне никто не мешал.
— Не жалеете, что сейчас машины другие, иначе процесс построен?
— Нет, конечно. Современные компьютеры намного интереснее, молодежь занимается проектами, которые мне даже не понять. Лекции, конференции с огромным количеством людей.
В наше время такого не было.