– Ну кто, кто сможет найти здесь ошибку?
Я поднимаю голову, тычу пальцем в распечатку и небрежно говорю:
– У тебя там апострофа не хватает. Если поближе подойдешь, покажу место точно, а так далековато, я вижу плохо.
– Где не хватает? – юноша тычет в программу ручкой, но к нам не подходит.
– Ниже, ниже. Вот тут.
– Я проверю.
Он садится за ближайший свободный стол, внимательно смотрит в распечатку, потом растерянно подтверждает:
– Не хватает.
Он был так обескуражен, что даже не попросил объяснить фокус. А фокус был совсем прост: транслятор увидел один апостроф, понял, что дальше следует текстовая константа, и попытался понять, где она заканчивается, но так и не смог этого сделать, просмотрев программу до конца. Как следствие он ни одного оператора дальше не определил, и колонка с номерами операторов, которую я видел как черную вертикальную полосу на левой границе распечатки, пропала как раз на строке, в которой стоял непарный апостроф.
Я не помню, как появилась трещина на стекле в комнате нашего отдела. Не то сама, не то кто-то в кого-то что-то кинул. Но она появилась. Мы заклеили трещину скотчем и написали заявку в хозяйственный отдел о замене стекла.
Через полгода, когда в комнату зашел пожилой стекольщик, никто уже не мог вспомнить, когда и кто его вызывал, но трещина была, и мы ее стекольщику показали. Он внимательно рассмотрел стекло и произнес замечательную фразу:
– Я, конечно, могу заменить, но будет хуже.
Десять юных программистов с хохотом попадали на свои столы (благо клавиатур на них еще не было: они появятся на столах программистов только лет через десять), а обиженный стекольщик пояснил:
– Ну ведь действительно будет хуже: вы сейчас заклеили стекло, и из него не дует, потому что оно стоит на замазке. А у меня замазки нет, я вам новое стекло поставлю на гвозди, и будет дуть.
Тридцать лет прошло. Но каждый раз, когда сисадмин озадаченно интересуется, почему я не даю команду установить новую версию операционной системы или почтового клиента на всех компьютерах офиса, я вспоминаю стекольщика.
Мне впервые поручили самостоятельно разработать небольшую подсистему учета железнодорожных специалистов с высшим и средним специальным образованием, чтобы прикрыть собственную задницу. Приказ о ее разработке исходил из министерства и обсуждению не подлежал, начать эксплуатацию требовали через два месяца, а шансов на это при тогдашних темпах отладки программ практически не было. Работа как раз для молодого специалиста, которому по служебной лестнице скатиться некуда.
Шеф посоветовал использовать разработку своего знакомого, которому для защиты диссертации нужна была справка о внедрении, поэтому он был готов отдать свою систему даром и обеспечить ее сопровождение. В реляционной СУБД был заложен функционал простого описания таблиц и работы с ними, так что, если она случайно работала, нам для реализации проекта оставалось только «подработать напильником по месту», организовав входной контроль информации, ее ввод и печать необходимых отчетов.
С мужиком этим встречались мы почему-то в метро. Наверно, кто-то из нас куда-то спешил. Мобильников тогда не было, но нам тем не менее удавалось договариваться о встрече и встречаться со всеми, кто был нужен.
Найти этого человека среди стоявших на платформе было нетрудно: он держал в руках полиэтиленовый пакет с магнитной лентой. Мы поздоровались, он произнес несколько слов, соответствующих моменту, предложил звонить, если что, и отдал мне бобину и переплетенную документацию. То, что документация была на синьке, говорило об определенной тиражности программного продукта.
Ленту он отдал вместе с пакетом, что было большой щедростью (полиэтиленовых пакетов с ручками в те времена в продаже не было, их добывали на иностранных выставках).
Я взвесил пакет в руке, открыл документацию, просмотрел оглавление, потом отыскал одну страницу, глянул на нее и ласково сказал:
– У вас тут описаны теоретико-множественные операции. Но ведь вы их не реализовали, да?
Выражение его лица доставило мне большое удовольствие.
– Да, но как вы…
– Это просто. Когда бы вы дошли до операции
Об авторе