Записки программиста А. | страница 23



— И я тестировала его код, — продолжала она, не обращая внимания на его слова.

Казалось, она задержала дыхание, чтобы подольше оставаться под водой своего сновидения.

— И в нем были ошибки, — почти шептала она. — Непонятные ошибки, совершенно необъяснимые ошибки. И они были в самых неожиданных местах. И…

Она замолчала. Он неуверенно смотрел на нее. Она провела рукой по глазам.

— И я не знала, что делать! — выдохнула она. — Это было так неожиданно. И необычно…

— И что же было дальше? — стараясь придать голосу безразличное выражение, спросил он.

— Я не знала, что делать, — сказала она. — Я даже не знала, в чем именно были эти ошибки. Я совершенно не понимала, как их можно будет исправить. Это было так не похоже на твои ошибки. С твоими ошибками всегда все так просто и ясно… А здесь — казалось, что человек, написавший этот код, совершенно не думал о том, что пишет. Ни разу не просмотрел свой собственный код… Даже не протестировал его…. Разве такое возможно? И я пошла в его рабочую комнату, чтобы с ним посоветоваться…

— И что? — спросил он напряженно.

— Я сказала ему о том, что я нашла. И он посмотрел на меня своими серыми глазами, и улыбнулся. И сказал…

Она смотрела перед собой, вспоминая детали сна.

— Что он сказал? — спросил он почти раздраженно.

— Он сказал, что у меня красивые золотые глаза…

— Ну хватит! — неожиданно резко перебил он. — Завтра же возьмешь отпуск.

Она молчала. Он встал и пошел на кухню выпить стакан воды.

***

— Ну что за народ! — ругался про себя программист А. на следующий день. — Двенадцать ошибок в моем коде! Уж в последний день перед отпуском могла бы расслабиться! А глаза у нее действительно ничего…

0100100

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

Неожиданно один из пользовательских процессов дал сбой по делению на ноль и завершился прерыванием. Контроль перешел к следующему процессу, который этого не ожидал и был вытеснен из памяти на диск, так и не успев установить флаг продолжения. Несколько процессов одновременно перешли на холостые циклы в ожидании установки флага. Системная служба попыталась подгрузить соответствующие инструкции, но скорость системной шины не давала такой возможности. Система зависла.

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