Вспоминая минувшее - 70е годы

В начале семидесятых я работал на вычислительном центре (ВЦ). Это было время быстрой смены одних вычислительных машин другими, с бо'льшим быстродействием и лучшими техническими характеристиками. Как в калейдоскопе, промелькнули М-20, Урал-4, Минск-22, Минск-32, Урал-14Д … Вот этой последней маркой и был оснащён наш ВЦ.

Самый удивительный факт, что завод поставлял только железо. Никакого намёка на программы. Чтобы выполнить самую простую операцию, например прочитать число с перфокарты, уже нужна программа. Кто-то где-то в Москве присел на стул и на коленке написал программу, выполняющую базовые операции, под названием «мини-диспетчер». Уже первое слово названия говорит о том, что это далеко не Windows и даже не MS DOS. И вот, чтобы сделать что-то полезное для производства, собрали два десятка программистов, вручили им мини-диспетчер, и велели посчитать план выпуска железобетона, оптимальное расписание перевозок бетона, ну и другие полезные вещи, в том числе самую полезную – это зарплату.

Программисты взялись за своё непростое дело. Чтобы был понятен уровень непростоты, посмотрим для примера, как сложить два числа. Программист должен был написать 24 цифры, что-то вроде «02005000 01005001 05005002», и пробить их на перфокарте. Зато с базовыми операциями было попроще, всего 8 или 16 цифр, типа «41001234». Это просьба к мини-диспетчеру, чтобы и он тоже поработал.

Чтобы написать программу расписания перевозок, надо было исписать цифрами целую пачку бумаги. После переноса на перфокарты получался ящик. Сейчас мы говорим в переносном смысле: «Файл весит 600 мегабайт». А тогда мы говорили буквально: «Программа весит 3 кг». Эти три килограмма перфокарт не должны были содержать ни одной ошибки. Исправление ошибок шло в три этапа. На первом этапе исправлялись ошибки перфорирующего устройства. Если дырочка на перфокарте пробита не полностью, то надо закончить пробивку лезвием безопасной бритвы. На втором этапе исправлялись ошибки оператора, пробившего не ту цифру. Перебивалась полностью вся перфокарта, содержащая 160 цифр. Наконец, мы добирались и до ошибок, сделанных программистом, то есть до процесса отладки. Весь процесс растягивался на несколько месяцев.

По такой технологии проработали три года. Однажды начальник ВЦ выразил своё недовольство – что вы так медленно работаете, соседи на Минске-32 работают быстрее? Я возразил, что им проще, у них есть ассемблер. «А почему у нас нет?» - «Завод не поставил.» -  «А сами сделать не можете?» - «Можем», – ляпнул я. «Тогда делайте.» – «Это долго.» - «Сколько?». Я посмотрел на потолок в надежде увидеть срок. Не увидел. «Три месяца.» - «Знаю я тебя, всегда уменьшаешь сроки. Чтобы всё работало через полгода.»

Над макроассемблером мы работали вдвоём, с молодым спецом Валерием Алиевым. За три месяца сделали макроассемблер, назвали его БАК (Братский АвтоКод). Потом уже на БАКе переписали и расширили мини-диспетчер, получилась СУВВ (Система Управления Вводом-Выводом), и закончили работу созданием файловой системы. Через полгода отчитались, и были вознаграждены. По рационализаторской линии получили премию по 90 рублей.

Теперь программист для сложения двух чисел мог написать «СЛ a,b,c», и БАК преобразовывал макрокоманду сложения СЛ в вышеупомянутые 24 цифры. В состав БАК мы включили макрокоманды для реализации основных структур – ветвления и цикла. Но сам макроассемблер был написан не по правилам структурного программирования. И это был тихий ужас. Алгоритм был изображён на сплошной ленте из 20 листов формата А2, и часто стрелки перехода шли с 10-го листа на второй или с 18-го на 5-й. Программирование с использованием GOTO никогда не приветствовалось, потому что подобные программы трудно отлаживать, и практически невозможно продолжить чужую работу такого стиля. Мы пошли на это, чтобы вес программы в килограммах был поменьше и чтобы работало побыстрее. Я внутренне был готов, что будут ошибки. Но, как ни удивительно, все известные ошибки были исправлены при отладке. Конечно, неизвестные ошибки остались, ведь «любая программа содержит по крайней мере одну ошибку» (Мёрфи?).

Удивительно быстро программисты переключились на БАК. Работал он три года. Кроме нашего ВЦ, он использовался ещё в Новосибирске. В 1976-м появились ЕС ЭВМ, и Уралы постепенно были списаны один за другим.

Эту статью я посвящаю памяти Валерия Алиева, недавно ушедшего из жизни. 1 января ему исполнилось бы 63 года.


Рецензии
Спасибо за дивные воспоминнания! Это целый пласт памяти, это дырочки в перфолентах и перфокартах, это споры "постановщиков" и "программеров" о главенствующем положении, это схемы алгоритмов на пол-комнаты, по которым ползаешь, пока тебя держат коленки... Это "контрольные примеры" просчитанные на счетах и "Феликсе", потому что калькуляторов на всех не хватало! "Да, были люди в наше время!"... Кстати, счеты с нашего ВЦ (ВЦ БЛПК) мне подарили коллеги на один из юбилеев и храню их как самый ценный подарок!

Галина Кравец   14.04.2014 07:27     Заявить о нарушении
Мне тоже пришлось поработать на Вашем ВЦ. В 1986-м наш ВЦ сгорел, и какое-то время мы ездили на БЛПК и что-то пытались там посчитать.

Товий Пурк   20.04.2014 12:18   Заявить о нарушении
Наверное я как раз была в декретном отпуске, т.к. в сентябре 1985 родила дочку... :-)) Вот и не встретились!

Галина Кравец   20.04.2014 18:23   Заявить о нарушении
На это произведение написаны 3 рецензии, здесь отображается последняя, остальные - в полном списке.