Учитель цинизма. Точка покоя - Владимир Губайловский
Шрифт:
Интервал:
Закладка:
Мы с гиканьем и свистом бороздили Наветренный пролив, женились на дочках губернаторов то Ямайки, то Провиденса, пили ром на Кюрасао, ходили на Тортугу добирать побитую команду, брали штурмом Панаму и чувствовали себя превосходно.
Тут в нашей жизни произошло крайне приятное событие. Наш кооператив во главе с председателем Колей приобрел два настоящих 286-х компьютера с цветными мониторами. За них отдали подержанный грузовик вполне на ходу. Играть стало еще интереснее. Ветер над Карибами крепчал, сокровища майя в руки не давались.
Наконец Женя оторвался от созерцания наших веселых роджеров: «Мне сдается, что вам 500 тысяч нарисованных дороже, чем 500 настоящих».
Так ведь и было! Но мы, как крайне ответственные люди, все-таки оторвались от захватывающей игрушки и вернулись к трудовым будням: Сорочкин — играть в «Тетрис», а я — изводить бумагу.
62Я разложил свои бумажки и понял, что решение давно найдено, просто в целом ворохе макулатуры я его не сразу увидел. Я вычеркнул всякую дребедень, взял чистый лист и написал алгоритм обхода графа и распределения ресурсов. Насколько это еще далеко от программной реализации, я даже не представлял, но первый шаг был сделан уверенно.
Коля пригласил двух математиков из ИПУ [6]. Одного — очень крупного, второго — поскромнее.
За полчаса с перекуром я рассказал свой алгоритм. Очень крупный сказал: «Ранг — он и в Африке ранг». Второй подтвердил: «Я ведь почему предлагал линейное программирование? Исключительно из общих соображений. Но если у вас есть такое элегантное решение, конечно, я не настаиваю. И поздравляю».
Я исполнился гордости, а Коля предложил написать статью в математический журнал. Я сразу как-то заскучал и спустил это дело на тормозах: чтобы писать статью, как раз надо идти в библиотеку, а это и в лом, да и некогда.
Сорочкин нашел золото майя. Но оказалось, что «Пиратов» наших писали законченные ламеры: когда главный герой Карибского моря засыпал золото майя в трюма, у него оказалась запредельная с точки зрения игрушки сумма наличности — программа хрюкнула, поморгала и обнулила весь его золотой запас, добытый тяжелейшим трудом. Вот это был мат! Игрушка была с гневом убита насмерть.
Вернувшийся в действительность Сорочкин хмуро заметил, что хватит мне страдать фигней и пора разбираться с библиотекой, в которой он уже замечательно разобрался, так что, если я вдруг чего не пойму, — он объяснит. Библиотека по объему кода была не то чтобы очень большая — на «Войну и мир» не тянула, максимум — «Анна Каренина» пополам. Объяснял Сорочкин так: «Да блин, вот. Ясно же, как на ладони. Короче, иди в отладчик и стучи».
Отладчик в Турбо Pascal 5.0 был замечательный. Всякий раз, когда мне случалось им пользоваться (а случалось это почти каждый день), я думал о его разработчиках почти с нежностью.
Я сел писать алгоритмическое ядро, а Сорочкин — интерфейсы и управление данными.
Женя немного успокоился:
— Мои программисты — ребята увлекающиеся, вот сейчас они увлеклись программированием.
63
Долгими осенними ночами, когда ветер воет в щель над фрамугой, а дождь захлестывает пространство, в нашей комнате кипела работа, согретая светом разума и страсти. Тишина прерывалась только короткими емкими репликами.
— Я ее вот, а она меня где. Во как бывает.
— Опять хип не почистил.
— Чтобы я — да не почистил! Он у меня как девственный снег.
— Ну да, как снег… после стада козлов и баранов. Иди в отладчик, говорю. Иди и смотри.
И так все далее, и далее, и далее…
Приближались какие-то недобрые сроки. Задачу пора было сдавать, а у нас еще оставалась целая гора работы.
Женя появлялся редко. В комнате стоял собачий холод, поскольку мы были солидарны, что работать нужно в обстановке, максимально приближенной к боевой. И непрерывно кипел электрочайник. Чайники мы регулярно жгли. Увлеченно рыская по коду, мы забывали об этом хрупком агрегате, и он напоминал о себе железным треском — лебединой песней, которую производил, прежде чем окончательно сгореть. Кто из настоящих советских программистов не помнит страшный грохот в ночной тишине, с которым взрывается выкипевшая досуха полулитровая банка с забытым в ней кипятильником!
64Сдача была назначена на 7 января. Вместо новогодних праздников у нас были трудовые будни. Только это были не будни, а покруче. Мы писали по 12 часов в сутки, иногда — по 18. До полного одурения. Ходили трезвые, с красными от бессонницы и напряжения глазами. Дым в комнате не висел, а лежал между потолком и полом в несколько слоев, плотный, как войлок.
Сдачу дважды откладывали, в первый раз по нашей просьбе, во второй — у Моргстроя оказались какие-то другие дела, кроме неизбежного наслаждения нашим шедевром. Мы были искренне обрадованы таким подарком, поскольку работы было еще выше головы.
Наконец торжественный день настал. И мы с вещами отправились в Моргстрой. Собралось все моргстроевское начальство. Я внимательно осмотрел присутствующих и с некоторым недоумением заметил, что они робеют. Это придало мне силы и наглости.
Мы поставили нашу программулю на моргстроевскую тачку, и тут, конечно, выяснилось, что на ней нет сопроцессора, а без него наше творчество не стартует. Пошли на другой этаж, где была другая — с сопроцессором, но — вот ведь, блин! — с монохромным монитором. Как выглядит колор на монохроме, это надо видеть. То есть не надо этого видеть, поскольку увидеть все равно ничего нельзя.
И вот на таком полуслепом экране мы начали демонстрацию. Я вещал и разводил руками, а Сорочкин топтал клаву — делал он это по памяти, почти интуитивно, поскольку на мониторе курсор периодически сливался с фоном и исчезал. Но мы все-таки программу показали и, по-моему, произвели впечатление. Наверное, сорочинские манипуляции с невидимым курсором сделали свое дело. Моргстроевское начальство действительно въехало в идею программы. Они сказали, что все типа круто, и дали нам еще два месяца на доводку программы согласно прямо тут же возникшим пожеланиям, написание документации и обучение моргстроевских барышень работе с нашим творением.
Женя был доволен: мы таки вывернулись, он уже и не надеялся. Коля тоже был доволен: часть денег перевели. Мы довольны совершенно не были. Поскольку нам-то было понятно, что хотя все почти написано, ничего толком не катит и работы еще вагон.
65
Через два месяца мы все, что положено, выполнили, даже документацию какую-никакую написали и барышень обучили. Договор был закрыт. И мы с Сорочкиным получили по три тысячи рублей премиальных. Это была достойная сумма.
Когда Коля нас поздравил, Сорочкин только хмыкнул: «Дерьма-то». Коля потрепал его по плечу: «Все отлично. Вы молодцы. Не переживай, совершенство недостижимо».
Мы взяли по такому случаю пять бутылок коньяка «Белый аист» и сели играть в хоккей в четыре руки. Когда разлили по первой, Сорочкин горько усмехнулся: «Вот теперь мы знаем, как это надо было писать».
Буквально через несколько дней, придя в контору, я застал Сорочкина тыкающим в какую-то программу. На экран была выведена диаграмма Ганта. Но программа была не наша. Сорочкин кивнул на монитор: «Microsoft Project 4-я версия. Они ее уже лет пять пишут».
Я сел рядом, и мы стали разбираться. У Microsoft Project было по крайней мере одно преимущество перед нашим творением, но преимущество серьезное: она работала. Наверно, не всегда и не во всяких умелых руках, но работала. Возможно, в ней не был зашит такой остроумный алгоритм, как тот, который я смастерил, но ей реально можно было пользоваться. А чтобы появилась возможность уверенно пользоваться нашей поделкой, ее еще нужно было пару раз переписать. А был ли у нас шанс? Кажется, не было. За год приоритеты заказчика сильно поменялись, да и Коля не был готов финансировать наши фундаментальные поиски.
Сорочкин встал и сказал: «Короче, надо валить». И ушел выстраивать алгоритм, который превратил бы это решение в свершившийся факт.
А я смотрел на диаграмму Ганта в исполнении корпорации Microsoft и думал: «А я что здесь делаю? Вот там и нужно все эти алгоритмы придумывать». Закурил и повлекся на Царицынские пруды, чтобы посидеть на бетонной трубе и еще раз обдумать, но уже не алгоритм, а несправедливость мира.
66Наша с Олей фамильная рязанская «фазенда» располагалась далеко, и добираться туда было мучительно. Кирпичный домик с большим вишневым (sic) садом находился в селе Санское, недалеко от райцентра Шилово. От Москвы — 300 с лишним километров. От Москвы до райцентра — поездом или электричками на перекладных, потом катером — до места. Или от райцентра автобусом до парома — а дальше пешком. Я как-то от Шилова по замерзшей Оке на мотоцикле доехал. Дорога от Москвы до деревни тяжелая, выматывающая. Далеко, неудобно, особенно если с вещами, детьми и собаками. А машины у нас нет.