Редкая профессия - [16]
Фрагмент модуля с усовершенствованной версией обработки имен с тех пор украшает комментарий:
/* Krotoff is a _very_ clever guy! */
Товарища не похвалишь, так и он тебя не похвалит.
Последнее прости
Последние месяцы мы работали, не получая от фирмы вообще ничего, кроме писем. Постепенно ситуация с отсрочками платежей начала проясняться. У фирмы возникли финансовые затруднения. В подробности нас не посвящали, но они были, похоже, достаточно серьезными. Компания применила радикальный, но, видимо, стандартный метод выживания в подобных условиях — разделение, при котором убыточные подразделения выделяются в самостоятельные (дочерние) фирмы.
Однако для нас ничего не изменилось, и, несмотря на неопределенность, работу мы не бросали. По-прежнему примерно раз в две недели, а то и чаще мы отсылали текущие версии компилятора и тестов (snapshot — "моментальный снимок" нашей работы), Вальтер делал собственный прогон компилятора, присылал свои вопросы и замечания. Последний этап работы прошел без особых событий, в тяжелой и монотонной работе.
В ноябре 1996 г. мы получили так называемый "Milestone Certificate" — официальное подтверждение о завершении и принятии очередного этапа работы и вместе с ним — всего проекта в целом. Все взаимные обязательства были выполнены, фирма не имела к нам никаких претензий (еще бы имела!). Finita…
Компилятор готов, более чем 3-летний марафон успешно завершен! Однако это эпохальное событие прошло для нас незамеченным. Мы просто не в силах были остановиться — компилятор еще давал ошибки на семи процентах тестов, последние версии стандарта не были просмотрены, и вообще еще много чего нужно было доделать… Все как обычно.
В конце года ситуация, казалось, начала поворачиваться к лучшему. Фирма не умерла, наоборот, они решили создать филиал в другой стране, который занимался бы именно компиляторами, в том числе и нашим. Планировалось отдать компилятор на бета-тестирование в один европейский университет, готовый попробовать его в работе. Надо было готовиться к сопровождению этого процесса. Кроме того, нам предлагалось прямо с января начать новый проект — перепроектировать компилятор, чтобы он генерировал промежуточное представление нового формата, который фирма уже давно разрабатывала и даже продвигала как некоторый стандарт.
Все это выглядело очень перспективно и интересно. Мы были уверены в своих силах и собирались не повторить ни одной из прежних ошибок. Теперь мы могли вполне обоснованно определить трудозатраты и, конечно, потребовали бы более адекватное вознаграждение. Мы ждали известий о филиале и документацию по новому формату.
Внезапно что-то застопорилось. Письма стали короче и неопределеннее, ответы на наши вопросы — уклончивыми: мол, создание филиала непростая работа, документы пришлем после подписки о неразглашении. (А как давать подписку, когда не заключен контракт и неизвестно, что, собственно, придется делать и в какие сроки?) Постепенно переписка заглохла.
Тягостная пауза продолжалась несколько месяцев. Надо было что-то решать, но в создавшихся условиях практически любое решение означало окончательный разрыв с фирмой. А мы… да, боялись этого: нам казалось, что как разработчики компиляторов мы больше никому не интересны.
Несмотря на уже неприличное молчание Вальтера и полную неопределенность с будущим проектом, мощная инерция огромного программного текста, который, подобно тяжелому составу, даже после экстренного торможения проходящему юзом до километра пути, тянула нас вперед. Все новые и новые доработки, исправления, 93% успешных тестов, 95, 97… Компилятор, хотя и был официально сдан, все улучшался и улучшался. В результате мы довольно существенно продвинули и тесты, которые в целом, как нам казалось, уже вполне можно было считать программным продуктом.
У нас возникло ощущение, что, может быть, следует переправить бельгийцам то, что мы сделали за время после формальной сдачи. Наша (конечно же, несколько наивная) логика была такова: последняя принятая ими версия тестового пакета содержит ошибки. Теперь мы их исправили. Если мы оставим исправления при себе, то, продавая пакет с ошибками, фирма подмочит свою репутацию, что косвенно ударит и по нашему реноме. Мы несколько раз спорили друг с другом; наконец, решили не посылать сразу исправления, а сначала написать письмо с предложением: не хотите ли взять у нас новые версии компилятора и тестов? Тем самым, быть может, мы вынудим их раскрыть свои планы.
Ничего подобного не случилось. Ответ Вальтера был по-своему знаменателен. Он написал: "мы всегда готовы получить от вас новые версии".