— Михаил, — представился он. — Я тут вроде начальника ВЦ — это если по-старому. А по-новому — сисадмин. Давай паспорт, пойдём в бюро пропусков пропуск тебе делать.

По дороге Михаил стал вводить нового практиканта в курс дела.

— Я сам тут второй год работаю. Представляешь, у них математические модели до сих пор на ЕСке крутятся. А я взялся перевести это дело на персоналки. А то у ЕСки производительность меньше, чем у смартфона.

— А чего раньше это не сделали? — спросил Лёха.

— Да никто за это браться не хотел, им проще было ЕСку поддерживать в рабочем состоянии. Ведь эти модели годами совершенствовались. Изделие полетело, параметры сняли — в модели подправили. А если перенести модель на другую платформу, ещё неизвестно — будет ли она корректно работать, надо заново поверять.

— И как же это на персоналки переводить? — не понял Лёха.

— Вот это как раз самое простое, — объяснил Михаил. — Модель написана на языке высокого уровня, на Фортране. Для персоналок существуют эмуляторы OS/360 и трансляторы Фортрана. Так что перенести — вообще никаких проблем. Самое трудоёмкое — поверить получившуюся модель. То есть поступаем так — переносим софт на персоналки, а ЕСку сохраняем, а потом сравниваем работу модели на персоналке и ЕСке. Если совпадают — хорошо, не совпадают — корректируем.

— Скажите, а у вас тут есть устройство ввода с перфокарт? — наконец Лёха задал мучивший его вопрос.

— Конечно, есть! — обрадовал его Михаил. — И давай на «ты» — вроде почти ровесники.

Наконец все формальности были улажены, и Михаил повёл Лёху в машинный зал. Лёха с уважением смотрел на обшарпанную консоль управления ЕСки — машину явно сделали ещё до его рождения.

— Так чего ты там про перфокарты спрашивал? — окликнул его Михаил.

— Да мне там надо программу с перфокарт считать, — объяснил Лёха.

— Какие проблемы? Неси — считаем.

— Вот в этом-то и проблема. Там этих перфокарт примерно полтонны.

— Да, действительно проблема, — Михаил задумался. — Давай вот так попробуем.

Он вышел в соседнюю комнату и вернулся с небольшим металлическим ящиком.

— Это портативный считыватель. Подключается к последовательному порту, вот тут на дискетке программа, которая с ним работает. Тебе недели хватит?

— Не знаю, — смутился Лёха. — Как пойдёт.

— Короче — забирай, введёшь — принесёшь назад.

— А вахта?

— Если у них будут вопросы — пусть мне позвонят.

Ближе к вечеру Лёха взял портативный считыватель под мышку и отправился к проходной. Вахтёр лениво выглянул из-за стекла.

— Что несём?

— Прибор на полевые испытания.

— А разрешение на вынос есть?

— Конечно же! — уверенно заявил Лёха.

— Тогда проходи.

Звонить Михаилу не потребовалось.

Всю ночь Лёха подключал считыватель к компу. Заработало только к утру, но уже было пора уходить. Зато на практике Михаил показал, как на персоналке работает эмулятор среды OS/360.

— То есть один персональный компьютер, помещающийся на столе, может заменить весь этот машинный зал? — пришёл в восторг Лёха.

— А вот это нам ещё предстоит доказать, — дал осторожный ответ Михаил. — Понимаешь, вот мы берём математическую модель на языке высокого уровня, транслируем её в машинные коды, потом эти машинные коды будут исполняться не на реальном железе, а на программном эмуляторе. Формально всё должно работать — есть стандарты языка высокого уровня, программисты должны были их соблюдать. А на практике то, что нормально проходит на ЕСке, на эмуляторе выдаёт ошибку деления на ноль. Вот поэтому-то до сих пор было проще поддерживать в рабочем состоянии ЕСку, чем фактически заново переписывать математическую модель.

— Так поддерживали бы её и дальше, в чём проблема?

— А проблема в том, что уже весь запас запчастей к ЕСке закончился. Меня уже на радиорынке все в лицо знают — я у них там всё скупил, что у них к ЕСке было. Теперь приходится на свалку ездить.

— Что, серьёзно? — удивился Лёха. — Да, это не Америка!

— Думаешь, там у них по-другому? — просветил его Михаил. — Ты разве не слышал эту историю с их Шаттлом? Его проектировали ещё в начале 70-х, и многие вещи были сделаны на микропроцессоре Моторола-6800, причём, естественно, в милитари-исполнении, то есть в керамическом корпусе. И вот на дворе уже 21-й век, процессоры 6800 давным-давно не выпускаются, а весь софт написан именно под них, переделывать — это время и деньги. И пришлось инженерам НАСА шариться по помойкам и искать там старую мед. аппаратуру — туда в 70-е тоже ставили эти процессоры в керамических корпусах. А в каждом Шаттле таких процессоров много. Так что если хочешь — в выходные поехали со мной на свалку.

— Нет, у меня дела, — отказался Лёха. Только сейчас до него дошла серьёзность положения. Просто запустить программу от ЕСки на персоналке — это ещё полдела. Главное — надо быть уверенным в том, что она всё сосчитает правильно. Поэтому придётся действовать так, как говорит Михаил — запустить программу на ЕСке и на персоналке, а потом сравнивать результаты. Но его практика заканчивается через полтора месяца, а потом его уже сюда не пустят. А может, вообще ЭВМ к тому времени разберут. Надо торопиться!

Поэтому все выходные Лёха с утра до ночи занимался тем, что скармливал перфокарты портативному считывателю. Даже когда пришла Светка, он не оторвался от своего занятия, а заставил подругу аккуратно раскладывать стопки перфокарт по всей комнате. За этим занятием их застала Лёхина мать, заглянувшая в комнату.

— Вы чего тут затихли?

— Мы заняты, — ответил Лёха, засовывая в считыватель очередную колоду перфокарт. — Не мешай, а то мы всё перепутаем.

— У вас тут прямо целый вычислительный центр! — покачала головой мать.

Лёха не обратил на эти слова внимания, но Светка тут же проявила свою журналистскую хватку.

— Мария Тимофеевна, а вы работали в вычислительном центре?

— Так, имею общее представление, — смутилась мать. — Вы не голодные? Может, вам бутербродов сделать?

— Мам, давай потом, — отмахнулся Лёха.

К вечеру выходных они со Светкой перелопатили все коробки с перфокартами, в результате получилось пять мегабайт текста программы. Лёха скинул их на флешку, потом подумал и сделал ещё одну копию. Когда он убирал флешку в карман, Светка поразилась:

— И что, вся информация с этой кучи перфокарт уместилась на одну флешку?

Лёха покрутил руках флешку.

— На самом деле сюда в тысячу раз больше может поместиться.

5

В понедельник с утра Лёха с флешкой в руках подошёл к Михаилу.

— У меня тут одна программа для ЕСки есть. Можно её прогнать и посмотреть, что получится?

— На ЕСке только ночью — днём она занята, — ответил Михаил. — А на эмуляторе — сколько угодно. У тебя в каком виде — Фортран, Ассемблер?

— Если честно — я не разбираюсь, — признался Лёха. — Но в виде исходного текста.

Михаил подключил флешку и стал листать файлы.

— Вот это? Похоже на классический Фортран. Давно писали, последние годы подпрограммы по-другому оформляли. Это кто писал-то?

Лёха не хотел посвящать его во все подробности, надо было придумать какое-то объяснение.

— А это у меня мать раньше в вычислительном центре работала, вот её ностальгия замучила. Попробуй, говорит, запустить — может, заработает.

— Так она у тебя программист? — уважительно спросил Михаил.

— Да не… — растерялся Лёха. — Она это… Ну неважно, давно это было.

— Точно, давно, — согласился Михаил, продолжая листать на экране текст программы. — Тут вон в заголовке дата стоит — март 1969 года.

— Где?! — через его плечо Лёха заглянул в монитор. — Вот это? «CONT PROGLIB ####»? Это что такое?

— Управляющая перфокарта, — коротко пояснил Михаил. — Сейчас попробую скормить твою программу транслятору.

По экрану персонального компьютера побежали строки сообщений транслятора. Ждать пришлось минут пять.

— Ничего себе! — удивился Михаил. — Могучая программа! Обычно за несколько секунд проскакивает. Но вроде оттранслировалось без ошибок. Попробовать запустить?