#10829: С первого раза и десятой попытки

12:45 11.04.2013, IT happens


В конце 80-х в наш ВЦ в хорошем, крепком НИИ пришёл молодой чел в костюме, и, о боги, при галстухе. Потребовал аудиенции у начальника машины. Конклав начальников четырёх машин во главе с главным технологом почесал под белыми халатам на голое тело и поинтересовался:


— Какой именно машины?

— Самой мощной.


Начальник ПС-2000 скромно улыбнулся и поинтересовался: какого, собственно, нужно от суперкомпьютера?


— У вас есть Фортран?

— Фортран у нас есть, но чтоб получить к нему доступ, надо иметь веские основания. Машина не простаивает, и очередь жаждущих высоких вычислений расписана вперёд.


— Вот, — сказал чел и показал какую-то папочку.


Ознакомившись с папочкой, конклав почесал под халатами ещё раз и отправил чела к начальнику всея ВЦ.


Через час меня, скромного техника первой категории, оторвали от приятного занятия — ремонта армянской станции по подготовке данных на ГМД — и вызвали пред высокие очи.


— Вот, — сказали высокие очи, — это краснодипломник мехмата. Решающий при написании диплома Очень Важную Задачу. Ну, во всяком случае, так выходит по его бумагам — писаны деканом, подписаны ректором. Разрешение на машинное время я ему дам. А ты, разгвоздяй, будешь ему ассистировать. И ещё раз предупреждаю: шорты не носить! А то волосатые ноги из-под халата…


— Окэ, босс.

— И не босс я тебе! А начальник. И этта: ПС-2000 я ему не дам. Ковыряйтесь на ЕСке.


В машинном зале ЕС-1055 чел сразу раскрыл дипломат с перфокартами, ринулся к ридеру и, загрузив на удивление невеликую колоду, жмякнул красную кнопку. Кнопка «Сброс», обрадованная таким вниманием, загорелась. Чел завопил нечленораздельно и кинулся к резервному ридеру…


— Стоять, Зорька!

— Вы не понимаете! Очень! Надо срочно посчитать! Очень! Колоссальные ресурсы нужны. Вам же начальник сказал. Только у вас в ВЦ. Потому что это очень! Самые мощные в городе ЭВМ. Нужно для народного хозяйства. Математическая модель…


Я внимательно слушал поток шизофазии. Через полчаса мне надоело.


— Так. Чувак. Тут такое дело. Нельзя в машину сувать всяку каку. Ручонки от аппаратуры убери. Карты свои спрячь.

— Но ведь чрезвычайно…

— У тебя это что на картах?

— Программа!

— Зашибись. Уже странслированная? А для какой машины и какой системы?

— ???

— В объектном коде?

— ???

— Исходник?

— Да-да! Я сам написал.

— А на чём?

— На Фортране.

— На каком?

— ???


Остаток дня прошёл в трудной беседе о том, что Фортраны разные. Архитектуры разные. А ещё есть ленты, диски и терминалы. На следующий день чел принёс книжицу.


— Вот. Этим трудом я руководствовался…

— Ага. Фортран-77. Только у нас его в системе нету. Не пишет у нас в НИИ на нём никто. Надо собрать сначала.


На следующий день собираю из объектников компилятор 77-го Фортрана. Гоняю предписанные тесты. Врывается чел.


— Я все понял! Я выбрал не тот язык реализации. Вот! Я всё переписал. На Си. И на всякий случай на Паскале.

— Э-э-э? Си у нас тоже нету. То есть совсем нету. Не пишет у нас никто на Си. И на Паскале, Бейсике, Алголе, Аде, кстати, тоже. Вот PL/1 есть. Фортран 66. Ассемблер/370. Давай свои давешние карточки. Сейчас будем компилять твой Фортран-77.

— Эээ… А я их выкинул. Но у меня есть блок-схема (достаёт тетрадку) и исходный текст (достаёт большую тетрадку). Вы же мне их пробьёте?

— Нет, дружок. Я отведу тебя к общаковым перфораторам. И ты пробьёшь это сам.

— Но я никогда…

— Пробьёшь-пробьёшь.


Через два дня чел принёс восстановленную колоду. Выяснилось, что о фирменных фортрановских шести пробелах в начале строки он не знал. Ещё через два дня он принёс переделанную колоду. На следующей неделе он догадался подписывать карты. Перфораторы у нас были без надпечатки. Ещё через пару дней компилятор перестал ругаться на прохлопанные запятые.


— Ну вот, дорогой друг. Теперь ты готов к запуску программы. Клади карты в ридер. Оператор запустит считывание. А я пойду покурю пока.


Так вышло, что задержался я после перекура. Прихожу через пару часов, а в машзале истерика. Чел бегает за оператором с криками:


— Ещё! Ещё раз! У меня всё правильно! Мне компилятор сказал!


А операторша от него улепётывает с визгом:


— Уберите! Уберите! Буйный!


И только тут выяснилось, что чел вместо задания на выполнение с соответствующими JCL-операторами, запускающими задание в нужном классе и от нужной учётки, с нужным компилятором, линковщиком, библиотеками, данными, файлами и т. п. просто пихал в машину исходник на Фортране. И так два часа.


После лекции о JCL и нескольких походов к перфоратору чел наконец приготовил свою задачу к счету. Задачу всех времён и народов. Задачу с народно-хозяйственным значением. Задачу его красного диплома, отворяющую врата в аспирантуру и кандидатство.


Успокоенный оператор набрал на консоли START RDR UNIT=00E. Я приготовился понизить приоритет всем остальным задачам для освобождения всех восьми мегабайт ОЗУ. Ридер 00E сделал шшшшшварк и сожрал колоду. И сразу затарахтело АЦПУ, выдав какой-то непонятный график длиной метров тридцать.


— Э-э-э? — спросил я.

— Всё. — упавшим голосом сказал будущий аспирант. — Всё посчиталось… Уже…


Оторвал распечатку и ушёл. Больше в нашем ВЦ он не появлялся. Хотя красный диплом он, наверное, не совсем зря получил. Всё ж его программа, написанная на бумаге, после чистки опечаток правильно сработала с первого раза.



Загрузка...