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