Выбрать главу

— Планёрки, — объяснил Савойский. — Видишь, вон Миша Карпов, начальник группы графических программ. Он любит по утрам задачи ставить таким образом. А Глушман, например…

— Это который Глушман? — перебил его Вадим. — Это который по криптографии?.. Извините.

— Тот самый, — кивнул Игорь Всеволодович. — Так он обычно проводит сборища на плэнере, в парке. Отвлечься от суетного, так сказать, прочистить мозги.

— Мозги… — повторил Вадим.

Сэмюэль Глушман был легендой и трудился, насколько Вадим знал, в Америке, в Кремниевой долине. До последнего времени трудился. А оно вон как, на самом деле…

— Э-э-э, Игорь Всеволодович, — недоумённо протянул он, — вроде в Микрософте Глушман?

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

— Что, Игорь Всеволодович?

— Хороший он мужик, ненапряжный, в общении простой, и не скажешь, что миллионер, — продолжил Савойский. — Но имей в виду, ласковый он слишком.

— То есть?..

— То и есть, — отрезал Савойский. — Надеюсь, ты не из этих? Имей в виду, Жогин их презирает. На работу берёт, но презирает.

— Чур меня, чур, — произнёс Вадим, оглядываясь назад, словно там уже преследовал его ласковый миллионер Глушман.

За разговором Вадим не заметил, что коридор кончился. Они стояли в маленьком помещении, уставленном кадками с пальмами и многочисленными горшками с цветущими орхидеями. Прямо перед ними ковровая дорожка упиралась в дверь с простой табличкой: «Савойский И.В».

— Ладно, — махнул рукой Савойский. — Милости прошу в мою берлогу.

Берлога Савойского ничем не отличалась от кабинета Трепникова, только мониторов было больше, а размером они были меньше. Да и стол толстым слоем покрывали старые распечатки. Пожелтевшие по краям, кое-где покрытые пятнами от пролитого кофе, исчерканные нечитабельными каракулями.

«Почерк как у врача», — подумал Вадим, но вслух ничего не сказал. Начальники они народ такой, кто их знает, на что обидеться могут?

— Это тамошний, — снова проявил редкую проницательность Савойский, — алфавит. Сорок семь графем, шестнадцать модификаторов смысла, круговая запись.

— Тамошний, в смысле из Пузыря? — уточнил Коробченко.

— Именно, — подтвердил Савойский.

— Интересно, — сказал Вадим.

— Да, ты даже не представляешь, насколько, — хитро прищурился Савойский. — Напрямую тебя касается.

— То есть, Игорь Всеволодович? — насторожился Вадим.

— То есть ты ведь последние годы не программировал? — сказал Савойский.

— Ну, да, — после паузы ответил Вадим, — как устроился сюда. Но я быстро восстановлюсь, честное слово! Программировать нельзя разучиться, как невозможно разучиться плавать или кататься на велосипеде, вы же знаете!

— Я и не сомневаюсь, — ответил Савойский. — А чтобы было проще, побудешь пока при Полиглоте.

— Полиглот это?..

— Верно, система автоматического перевода, — кивнул Савойский. — Оттуда, — он махнул рукой куда-то в сторону близких гор, — мы получаем много программ. В исходниках или в объектном коде3. Твоя задача пока — проверять результат, вылавливать самые явные баги. Полиглот, кстати, тоже оттуда, и его доводить до ума и доводить. Его, понимаешь ли, дизассемблировали4 и перевели практически вручную, и только потом нам удалось получить исходный текст.

— Да уж, — пробормотал Вадим. — И кто этот герой?

— Какая разница? — улыбнулся Савойский. — Много народу работало, каждый со своим куском. Начальный парсер написал я.

— Внушает. — Вадим посмотрел на будущего начальника другим взглядом. Неспециалисту не понять, но он-то знал, каково это: разделить хаотичный на первый взгляд поток байтов на смысловые единицы, а сначала выделить их, опознать, понять предназначение. При этом имея в виду логику существ из Пузыря! Куда там Фестскому диску…

— Это было не так сложно, как кажется, — сказал Савойский. — Но да, пришлось потрудиться. Теперь детали. Подчиняться будешь пока напрямую мне, потом как пойдёт…

Осознанно или нет, но, говоря о том, что разучиться программировать невозможно, Вадим обманывал самого себя. Программисту, как и пианисту, необходима практика. Особенно, когда ты не своё пишешь, а проверяешь чужое. Тем более, настолько чужое. Не так это просто, понять, как двигалась мысль другого человека, какую именно задачу решает тот или иной кусок кода — и как это сыграет потом.

Шли дни. Их Вадим проводил перед монитором, вглядываясь в скользящие перед глазами строчки кода. Вечерами, уже дома, он изучал уже переведённые и адаптированные программы. Иногда он был доволен собой, но чаще ему казалось, что он полный бездарь, и что слежение за кривыми в пещере — предел его способностей.

Результаты Вадим отправлял Савойскому. Игорь Всеволодович молча принимал работу и так же молча отправлял Вадиму новое задание. Не ругал, и это радовало, но и не хвалил, и это действовало на нервы. Но Вадим держался.

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

Было в поведении Полиглота нечто странное, знакомое Вадиму по опыту прошлой работы. Как ни дико это звучало, что-то подобное Вадим уже встречал. Он прошерстил исходные тексты, и глаз ни за что не зацепился. Но проблема никуда не делась, и Вадим решился.

— Я хочу увидеть сырой текст Полиглота, — заявил он Савойскому при встрече. — Исходный, из Пузыря.

— Зачем? — спросил Савойский.

— Пропущу его через Полиглот, — объяснил Вадим.

— Но зачем? — удивился Игорь Всеволодович. — Мы давно уже вычистили все ошибки и отладили логику. Ты хочешь сделать это заново? Что ты хочешь добиться?

— Не знаю, — развёл руками Вадим. — Что-то. Должно быть что-то, чего я не вижу. Такое чувство, что…

Он не договорил, не нашёл слов.

— Хорошо, — сказал Савойский. — Если это тебе поможет… Иди, работай, я сброшу файл в твою папку на сервере.

Вернувшись к себе, Вадим подсунул Полиглоту полученные (Ого? Ничего себе объёмчик!) данные и заварил кофе. Сервер мерно журчал, пережёвывая мегабайты, бегунок прогресса на экране неторопливо полз к правому краю, а Вадим размышлял: ради чего он, собственно, это затеял? Не доверять Савойскому он не мог, перевод, безусловно, сделали безукоризненно. Что же можно углядеть в сыром, непричёсанном тексте?

Колонки заиграли «Марш Черномора» — Полиглот рапортовал о выполненной работе. Вадим загрузил в него новую порцию данных, а сам открыл файл с результатами.

Глаза скользили по строчкам. Всё то же самое, что и в эталонных листингах Полиглота. Кое-где поправлены имена переменных, кое-где добавлены обращения к функциям. В общем, ничего особенного, обычная косметическая правка. Что ещё? Савойский поудалял длинные комментарии, те, что посчитал ненужными. Неудивительно, исходный текст ими изобиловал, неведомый программист из Пузыря пояснял, казалось, любое своё действие, самое тривиальное. Зачем эта лишняя работа? Ведь всё требует времени…

А вот тут… Вадим замер, не поверив глазам. Осторожно отмотал текст назад, вчитался в комментарии заново. Нет, всё так и есть, и он не сошёл с ума! Почему-то бросило в пот, и заболели виски. Вадим осторожно выбрался из-за рабочего стола, достал из холодильника бутылку пива, откупорил.

Руки работали сами, без участия головы, потому что в голове звенела пустота. Мыслей не было, лишь одна вилась, не позволяя ухватить себя за хвост: неужели то, что он видит — на самом деле? Или Савойский решил подшутить, проверить нового — ну, относительно нового — сотрудника на психологическую устойчивость?