В Москву он явился загоревший почти дочерна, но в отделе, где Сергей нагло заявил, что три недели проболел, ему ничего не сказали. Видимо, там не принято было лезть человеку в душу: раз загорел во время болезни, значит, такая болезнь удачная попалась. Ему только напомнили о том, что для работы над дипломом осталось чуть больше трех месяцев, а это очень и очень мало, так что давайте-ка, молодой человек, отправляйтесь завтра в машинный зал – вам там на неделю выделили времени по два часа в день.
Машинный зал «ящика» на «Аэропорте» мало чем отличатся от институтского машинного зала: та же «СМ-4», стойки с перематывающимися бобинами магнитной ленты, здоровенное печатающее устройство, перерабатывающее непрерывный поток широкой перфорированной бумаги, терминалы с монохромными мониторами.
Машинный зал был довольно большой, терминалов на десять, но там, как ни странно, практически никого не было, за исключением парня лет тридцати типично «ботанической» наружности: засаленные польские джинсы, купленные лет пять назад, рубашка с подозрительными пятнами на груди, имеющими то ли пищевое, то ли алкогольное происхождение, длинные спутанные волосы, поповская козлиная бородка, а также почти обязательные в то время очки в допотопной роговой оправе, стекла которых последний раз протирали еще в прошлую пятилетку. Губы парня были плотно сжаты и слегка искривлены, что придавало лицу презрительное выражение. Рядом с парнем стояла здоровенная фаянсовая кружка с чаем, которую явно не мыли пару лет.
На появление Сергея парень вообще никак не отреагировал, продолжая шлепать пальцами по клавиатуре, которая непонятно зачем была разрисована фломастерами.
– Привет, – сказал Сергей. – У меня тут машинное время.
Парень нервно дернул головой, но на приветственные слова ничего не ответил, продолжая бряцать клавишами, и тихонько бормотал что-то ругательное – видимо, относящееся к происходящему на экране.
– Але, – громко сказал Сергей, – на борту! Тут вообще жизнь есть какая-нибудь или нет? Или мне за любой терминал садиться?
Тут парень наконец-то соизволил оторваться от клавиатуры и уставился тусклым взглядом на Сергея.
– Садиться здесь можно только туда, куда я укажу, – заявил парень каким-то скрипучим и очень противным голосом. – Я тут – начальник машины.
– Поздравляю, – сказал Сергей. – Тогда укажи, куда можно сесть. И я сяду, – объяснил он, стараясь говорить очень короткими и односложными фразами. – Кстати, – сказал он, показывая пальцем на кружку, которая внутреннюю белизну давно поменяла на нечто темно-коричневое, – а ты вообще в курсе, что человечество уже изобрело соду?
Парень на вопрос о соде никак не отреагировал и начал задумчиво ковырять пальцем в волосах. Видимо, он никак не мог решить вопрос, за какой из девяти свободных терминалов можно посадить этого нахального неофита.
– А что делать-то будешь? – наконец спросил он Сергея.
– Диплом программировать, – объяснил тот. – Жутко сложное уравнение. Строк на десять.
– Я тебе программу писать не буду, – объяснил парень. – У меня времени нет – работы по горло. Ну то есть, если что, могу и написать, но сам понимаешь, работа серьезная, требует всякого… – он замялся, – сопровождения и так далее. Программировать – это тебе не бидоны возить. Тут башка знаешь как соображать должна? Обычный человек…
– Не надо мне ничего писать, – прервал его Сергей. – Программу я написал, надо просто вбить код, прогнать через интерпретатор, получить результаты и распечатать код вместе с результатами.
– Дай посмотреть, – требовательно сказал парень, протягивая руку за текстом программы.
Сергей молча протянул листок с написанным кодом.
– Только должен тебя огорчить, – торжествующе сказал парень, не заглядывая в бумагу. – У нас тут не какой-то вшивый Basic. У нас тут Modula 2. Так что все надо переписывать.
Сергей промолчал.
Парень, подхихикивая, поднес листок к глазам. Посмотрел на код и поскучнел.
– А, – сказал он вяло, – у тебя уже на Modula? Ну, садись тогда, – и парень махнул рукой на ближайший к нему терминал.
Сергей устроился за клавиатурой, положил рядом текст программы и начал вбивать код. После того как все было перенесено, он запустил интерпретатор, и тот тут же выдал ошибку в самой первой строчке программы. Сергей нахмурился. Там точно не было никакой ошибки. Но он на всякий случай попробовал то так, то сяк изменить написание – пробел вставить, «оператор» написать маленькими буквами – мало ли что. Но это не помогало, интерпретатор упорно выдавал ошибку. Пришлось обращаться за помощью к парню, хотя Сергею это делать совершенно не хотелось.
Парень, поправив очки, посмотрел код на экране, торжествующе улыбнулся и сказал:
– Ну так ты «операторы» неправильно пишешь!
– Как это неправильно? – удивился Сергей. – Что там неправильного?
– Ну так у тебя написано CONST, VAR, PROCEDURE, BEGIN, WRITELN и так далее, – так же торжествующе сказал парень, – а так нельзя!
– Вообще-то, Никлаус Вирт, разработчик этого языка, – заметил Сергей, – считает, что именно так эти «операторы» и должны писаться. Впрочем, конечно, может, он ошибается, тогда ты его поправь.
– Чтобы можно было выводить русский текст, – объяснил парень, – нужно эти «операторы» писать по-русски. И переменные все по-русски. Вообще не должно быть никаких латинских символов – тогда интерпретатор не будет ругаться. Пиши КОНСТ, ВАР, ПРОЦЕДУРЕ, БЕГИН, ВРИТЕЛН.
– Ты что, серьезно? – потрясенно спросил Сергей.
Парень сделал гордое выражение на лице.
– Ну так учись, – сказал он. – Что бы ты без меня делал!
– А какой мудак, – все так же потрясенно спросил Сергей, – сотворил такой интерпретатор? Что, нельзя было подключить обе половины кодовой таблицы и при обработке русского просто переключаться на вторую половину? Там же русский только для текстовых переменных нужен. На черта такой геморрой с языком устраивать?
Парень скривился.
– Это я вообще-то отлаживал интерпретатор, – заявил он. – Только благодаря мне теперь по-русски можно что-то выводить. Если ты такой умный, делай свой.
– Вот тут извиняй, – сказал Сергей, – у меня в этом заведении другие задачи. Ты уж как-нибудь сам. Но я тебе, старичок, на будущее рекомендую все-таки не искать легких путей, которые на самом деле очень тяжелые. Это же надо было так интерпретатор изуродовать…
– Во-во, явился умник, – пробурчал парень, вставая из-за своего терминала. – Если ты такой умный, – сказал он, – тогда сам тут и колупайся. Мне идти пора.
– Удачи, – сказал Сергей, надеясь, что дальше он сам как-нибудь разберется.
Парень ушел. Сергей еще два часа отлаживал программу, заменяя все операторы этими идиотскими русскоязычными «аналогами». Но так как аналоги придумывал ушедший начальник машины, а его сознание страдало потерей контакта с окружающей действительностью, Сергею пришлось изрядно попотеть, перебирая кучу самых дурацких вариантов написания тех или иных операторов. Проблема была еще в том, что количество символов в русских и английских названиях операторов должны были совпадать. Поэтому он потратил минут двадцать на то, чтобы выяснить, как в русском варианте должен выглядеть оператор WHILE. Оказалось, что ВХИЛЕ. Определив это, Сергей дал себе страшную клятву, что на следующей день он принесет сюда молоток и даст начальнику машины по башке изо всех сил – ну просто чтобы этот гад больше не смог нести в мир такой программный кошмар.