Записки автоматизатора. Профессиональная исповедь
Шрифт:
В машинный зал полагалось заходить в белых халатах. Остальные требования к одежде мы сформировали сами экспериментально: одежда не могла быть ни шерстяной, ни синтетической, а на ноги надевались тапочки на кожаной подошве. Нарушение этих правил каралось ощутимыми ударами статических зарядов с зависанием машины.
По полу машинного зала проходило огромное количество кабелей, соединявших все устройства, поверх которых был настелен следующий уровень пола, называвшийся фальшполом.
Большинство прикладных программ тогда отлаживалось в пакетном режиме: в окошко сдавали пачки перфокарт с текстом программы
Избранные программисты, системщики (те, кто занимались поддержанием и развитием операционной системы) и разработчики АСУ, допускались до работы непосредственно в машинном зале. Нам для этого выделялось исключительно ночное время: днем операторы прогоняли пакет. Работать по ночам было вполне романтично, но утомительно.
Программы писались на бумаге карандашом (чтобы можно было стирать ошибки), потом переписывались на бланки кодирования и сдавались в дупло для перфорации (нанесения на перфокарты). Так же, через бланки и дупло, на перфокарты переносились и исходные данные.
Поскольку при таком режиме на замене даже одной перфокарты терялся рабочий день, те ошибки, которые было возможно, исправлялись прорезыванием на перфокарте дополнительных дырок с помощью лезвия безопасной бритвы «Нева» или «Балтика». Говорят, что в некоторых ВЦ умельцы также заклеивали на перфокартах лишние дырки, но у нас это не практиковалось.
Твердого знака и буквы «ё» на клавиатуре не было ни у перфоратора, ни у консольной пишущей машинки. Раскладка русских букв была ЙЦУКЕН и почти совпадала с раскладкой портативной пишущей машинки, а вот латинские буквы располагались под аналогичными русскими (А-A, У-U, Ф-F, Н-N Х-H, Ц-C,Й-J, Ы-Y), а буквы, не имевшие аналогов, были раскиданы произвольно. Так, буква Q была на одной клавише с Я, а что было вместе с Ж и Щ, я уже не помню.
Дисплеи массово появились уже позже, через несколько лет, символы на них были зелеными на черном фоне, а строки плавали одна относительно другой, так что через два часа работы перед глазами начинал плыть весь мир.
Принтер назывался АЦПУ (алфавитно-цифровое печатающее устройство), размещался в тумбе внушительных размеров, печатал в одной строчке за один удар 120-128 символов на широкой ленте с дырочками по бокам, которая называлась перфорированной бумагой. Бумага такая была в дефиците, выписывалась по разнарядкам, и у нас ее вечно не хватало. Наконец кулибины нашего ВЦ модифицировали на АЦПУ механизм протяжки бумаги, и мы стали печатать на рулонах оберточной бумаги жуткого качества. Зато в соседнем с институтом гастрономе в перфорированную бумагу заворачивали селедку.
АЦПУ в открытом состоянии при работе грохотало настолько сильно, что при диспансерном медицинском осмотре сотрудников нашего ВЦ почти у всех было зафиксировано снижение слуха. Но не слишком сильное.
Буквы в этом мире не делились на прописные и строчные, они были все одного размера и начертания, тем более не было никаких средств ни для ввода, ни для вывода графической информации. Но это не мешало умельцам рисовать
Аппаратов типа «Ксерокс» было еще очень мало, и охранялись они не хуже огнестрельного оружия. Для тиражирования любой документации (как чертежей, так и текстов) ее сначала наносили на кальку и затем светокопировали. Светокопии получались синими, сизыми, коричневыми, розовыми, фиолетовыми и потому назывались «синьками».
Теперь, вооружив читателя необходимой для восприятия терминологией, можно хоть что-то рассказать.
Вечер. Плохо освещенный коридор института, только открытое окошко для общения с операторами светится ярко. У него стоит мой знакомый, который работает на дружественную лабораторию. Я здороваюсь и обнаруживаю, что парень близок к истерике.
– Что случилось?
– Не могу найти ошибку, – отвечает он, а губы его трясутся. – Сообщение об ошибке есть, а ошибку найти не могу. Помоги, а?
– Конечно, помогу. А все остальное нормально? Все живы? Никто не заболел?
– Все остальное нормально. Но ты мне поможешь?
– Показывай. Только темновато тут. Давай подойдем к свету.
Мы подходим под лампу, он разворачивает распечатку и неожиданно произносит:
– Спасибо тебе огромное, ты мне так помог.
– Да я еще не помог, ты хоть программу покажи.
– Это уже не надо, я все нашел. Спасибо, – и бежит по направлению к своей лаборатории.
Всего-то и нужно было – подойти к свету…
Кажется, я еще студентом был, но программистом уже стал. То есть это курс пятый, скорее всего. А очкариком я был с детства, и к тому моменту было у меня по минус четыре диоптрии не считая астигматизма.
Сижу с шефом за его столом, обсуждаю теоретические основы реляционной алгебры: «Отношение – это подмножество декартова произведения… Связями называются неупорядоченные отношения», – занятно. Вдруг в дверь, находящуюся на противоположном конце комнаты, врывается возбужденный юноша, разворачивает распечатку во весь свой рост, потрясает ею и восклицает:
– Ну кто, кто сможет найти здесь ошибку?
Я поднимаю голову, тычу пальцем в распечатку и небрежно говорю:
– У тебя там апострофа не хватает. Если поближе подойдешь, покажу место точно, а так далековато, я вижу плохо.
– Где не хватает? – юноша тычет в программу ручкой, но к нам не подходит.
– Ниже, ниже. Вот тут.
– Я проверю.
Он садится за ближайший свободный стол, внимательно смотрит в распечатку, потом растерянно подтверждает:
– Не хватает.
Он был так обескуражен, что даже не попросил объяснить фокус. А фокус был совсем прост: транслятор увидел один апостроф, понял, что дальше следует текстовая константа, и попытался понять, где она заканчивается, но так и не смог этого сделать, просмотрев программу до конца. Как следствие он ни одного оператора дальше не определил, и колонка с номерами операторов, которую я видел как черную вертикальную полосу на левой границе распечатки, пропала как раз на строке, в которой стоял непарный апостроф.