Добавить в корзинуПозвонить
Найти в Дзене
Крис вещает!

Код моего отца

Папа умер тихо, как завершается выполнение программы без ошибок – просто перестал работать. Я сидела за его компьютером, пытаясь понять, что делать с этой черной коробкой, напичканной чужими воспоминаниями. Мама попросила проверить, нет ли там важных документов. А я боялась нажать даже на «Мой компьютер». Он был программистом. Всю жизнь. Я росла под мерный стук клавиш за тонкой стеной, засыпала под синеву монитора, пробивавшуюся из-под двери. Он говорил на языке функций и переменных, а я отвечала на языке подросткового бунта. Между нами всегда был интерфейс – простой, но с глухой стеной в исходном коде. Я открыла папку «Проекты». Десятки папок с безликими названиями: «Финансы_2020», «Утилита_сервер», «Бэкэнд_Алина». Последнее имя – мамино – зацепило взгляд. Двойной клик. Внутри – файлы с расширением .java. Я запустила первый, случайный. На экране выстроились аккуратные строчки кода: ```java public class Morning { private Coffee coffee = new Coffee("black"); private Sunlight sunlight

Папа умер тихо, как завершается выполнение программы без ошибок – просто перестал работать. Я сидела за его компьютером, пытаясь понять, что делать с этой черной коробкой, напичканной чужими воспоминаниями. Мама попросила проверить, нет ли там важных документов. А я боялась нажать даже на «Мой компьютер».

Он был программистом. Всю жизнь. Я росла под мерный стук клавиш за тонкой стеной, засыпала под синеву монитора, пробивавшуюся из-под двери. Он говорил на языке функций и переменных, а я отвечала на языке подросткового бунта. Между нами всегда был интерфейс – простой, но с глухой стеной в исходном коде.

Я открыла папку «Проекты». Десятки папок с безликими названиями: «Финансы_2020», «Утилита_сервер», «Бэкэнд_Алина». Последнее имя – мамино – зацепило взгляд. Двойной клик.

Внутри – файлы с расширением .java. Я запустила первый, случайный. На экране выстроились аккуратные строчки кода:

```java

public class Morning {

private Coffee coffee = new Coffee("black");

private Sunlight sunlight = new Sunlight("early");

public void startDay() {

while (sunlight.isSlanting()) {

coffee.sip();

// Твой смех — это утренний exception,

// Который я ловлю вместо ошибок.

// Прерываю выполнение рутины,

// Чтобы сохранить в кэше памяти

// Отражение сна в твоих глазах.

System.out.println("День начат.");

}

}

}

```

Я замерла. Комментарии. Обычно в них пишут пояснения для других разработчиков: «здесь происходит инициализация», «это костыль, не трогать до понедельника». А здесь… здесь были стихи. Строчки, разбитые по слогам, как по строкам кода.

Сердце забилось громко, заглушая гул системного блока. Я открыла следующий файл – «BirthOfDaughter.java».

```java

public class BirthOfDaughter {

private final String NAME = "Ася";

private boolean fear = true;

private boolean love = true;

public void handleNewLife() {

fear = false; // Бессонный алгоритм моих ночей

love = true; // Переписан твоим первым криком

// В моём отлаженном мире, где всё предсказуемо,

// Ты стала самым прекрасным

// Необработанным исключением.

System.out.println(NAME + " initialized.");

}

}

```

«Необработанное исключение». Так в программировании называют ошибку, которую система не ожидает. Я всегда думала, что раздражаю его своей непредсказуемостью: то двойка по математике, то синие волосы, то внезапные слёзы без причины. А он… он видел в этом прекрасное.

Часы пролетели незаметно. Я открывала файл за файлом, как главы тайного дневника. Вот «QuarrelWithWife.java» – с комментарием-стихом о тишине после ссоры, которая «густеет, как непрочитанный лог». Вот «FirstGrayHair.java» – с строчками о времени, которое «не откатить коммитом».

А потом я нашла файл «Secret.java».

```java

public class Secret {

private static String[] REASONS = {

"Потому что слова — это ненадёжные переменные",

"Они теряют значение при передаче",

"А код... код вечен пока есть компилятор",

"И я боялся, что мои слова не скомпилируются",

"В твоём сердце"

};

public static void main(String[] args) {

for (String reason : REASONS) {

System.out.println(reason);

// Я писал тебе стихи двадцать лет,

// Прятал их в синглтонах и циклах,

// В надежде что однажды ты прочтёшь

// Не комментарии, а душу между строк.

}

}

}

```

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

Мама зашла с чаем, увидела моё лицо и экран.

– Что случилось, Ась?

Я показала на монитор. Она приблизилась, нахмурилась, пытаясь разобраться в коде. Тогда я прокрутила до комментария.

– Почитай, – прошептала я.

Она читала медленно, шевеля губами. Потом рука её потянулась к губам.

– Это… он? – голос дрогнул.

– Весь раздел «Алина». Это тебе.

Мы сидели до глубокой ночи, открывая файл за файлом. Он писал о их первой встрече – «как непредусмотренное событие в строгом алгоритме жизни». О маминой болезни десять лет назад – «когда твой код дал сбой, я понял, что без тебя моя программа не имеет смысла». Даже о моём подростковом бунте – «дочь вошла в режим отладки, ищет свои границы в моих».

– Я думала, он просто молчаливый, – сказала мама, вытирая слёзы. – А он… он говорил. Просто на своём языке.

– Мы его не понимали, – кивнула я. – А он не знал, как перевести.

В последнем файле, «Legacy.java», не было кода. Только один многострочный комментарий:

```

/*

Моя дорогая Ася.

Если ты читаешь это, значит, моя программа завершилась.

Не ищи ошибок — их нет. Всё отработало, как задумано.

Я оставляю тебе не код, а ключи.

Ключи к тому, как видеть поэзию в логике,

а логику — в хаосе жизни.

Любовь — это не функция, которую можно вызвать.

Это среда, в которой выполняется всё остальное.

Мама — моя главная константа.

Ты — мой самый красивый runtime error.

Не бойся быть исключением.

Пиши свой код. Со стихами в комментариях.

Папа.

*/

```

Утром мы с мамой распечатали все файлы. Не код, только комментарии. Получилась тонкая книжка стихов. Мы положили её на папин стол, рядом с его старой чашкой «Hello World».

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

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