Записки программиста А.
Шрифт:
— Опять? — угрожающе произнес менеджер и позвонил в непонятно откуда взявшийся большой колокольчик на деревяной ручке.
А. моментально проснулся. Он оглядел комнату. Все присутствующие спали, и только докладчик продолжал занудно жужжать из аппарата для телеконференций. Теперь А. не знал, спит он или нет. Он чесал затылок и пытался понять, приснились ли ему эти непутевые А., которые не могли найти документ, или же это он, А., чешущий сейчас затылок, приснился одному из этих непутевых А.? Или, может быть, все они трое просто снятся сейчас кому-то из спящих архитекторов? Ясно было одно — рабочий
Программист А. попытался откусить от бутерброда, но у него ничего не получилось — обертка так и норовила попасть в рот вместе с хлебом. Нужно было придержать обертку, но в другой руке у программиста А. была электрическая бритва. Он положил бритву на сегодняшний номер “Boston Globe”, развернутый у него на коленях, но бритва тут же соскользнула с гладкого газетного листа и повисла в воздухе, жужжа и качаясь на собственном шнуре. Программист А. протянул руку за бритвой, при этом другая рука с бутербродом оказалась над газетой, и большая капля кетчупа немедленно упала на разворот, образовав смачную кляксу в том месте, которое А. только собирался прочитать. “Ну, с меня достаточно!” — рассердился программист А., сбавил скорость, съехал на обочину и остановил машину.
Программист А. сидел в рабочем кресле уже не первый час. Голова не соображала, замысловатые строчки кода, похожие друг на друга как узорчатые линии арабской вязи, заполняли окно редактора. Несколько раз А. стирал казалось бы законченную подпрограмму и начинал заново. Теперь, отчаявшись, он просто неподвижно сидел перед монитором.
— Вот так и получаются баги, — думал А. — Если код не идет, заставлять себя нельзя, толку не будет. Только багов насажаешь, потом замучишься отлаживать.
План проекта поджимал, нужно было что-то делать, и поэтому А. сидел и смотрел в монитор. Неожиданно прямо под усталым взглядом А. буква G в слове BEGIN превратилась в маленького юркого жучка и быстро поползла по странице, коварно стирая символы на своем пути. А. чуть не упал со стула. Не веря своим глазам, он потряс головой из стороны в сторону и снова уставился на экран. След от убежавшей буквы не исчезал.
— Это что же такое! — ошарашенно подумал А. — Баги уже вот прямо так и ползают по программе?! Говорил же, нельзя себя заставлять.
Некоторое время ничего не происходило, и А. уже собирался вычеркнуть произошедшее из памяти как невозможное, как вдруг сразу две буквы U и R в слове NUMBER превратились в жучков и побежали по странице в разные стороны. Пытаясь сохранять остатки здравого смысла, А. отметил, что баг, в которого превратилась буква R, на своем пути стер значок умножения, превратив 2**N в 2*N.
— Как же так, — беспомощно пробормотал А. — Должна быть степень, а не умножение! Это же баг…
Еще через мгновение весь экран монитора кишел бегающими багами, безжалостно поедающими все, что с таким трудом успел за несколько месяцев написать А. Ему казалось, он даже слышит монотонное злорадное жужжание, издаваемое полчищем поедающих код жучков. Внезапно все закончилось, и в воздухе повисла тишина. А. остолбенело сидел перед абсолютно черным экраном и пытался осознать, что произошло, и что теперь будет с проектом, и с самим А. Либо материализовавшиеся баги только что, прямо на глазах у А., съели его программу, либо А. сошел с ума. Ни то, ни другое не сулило ничего хорошего.
В комнату заглянул системный администратор и увидев А., сидящего с всклокоченными волосами перед пустым монитором,
спросил:— Ну как тебе наш новый screensaver? Вчера ночью поставили на все компьютеры, распоряжение из главной службы поддержки.
А. глубоко вздохнул, и словно гора свалилась с его плеч.
Программист А. разговорился за чашкой кофе с соседкой по столику в кафе на первом этаже. Обсудив погоду и состояние экономики, соседка спросила его, что у него за акцент.
— Русский, — ответил программист А. — Я из России.
К его удивлению, женщина посмотрела на него недоверчиво, даже немного подозрительно.
— Нет, на русского ты совершенно не похож, — сказала она.
— Почему это? — обиделся А.
— У меня был знакомый русский, — объяснила женщина. — Он был здоровый, как слон, на три головы выше тебя, с черными волосами, нос как у орла, и пел очень красиво.
— Может, я тоже пою красиво, — из принципа спросил программист А., хотя петь действительно совершенно не умел.
— Может и так, — ответила женщина. — Но все остальное на русского явно не тянет.
— И как же этого русского звали? — поинтересовался А.
— Цхиладзе, — ответила женщина.
— Странное имя для русского… — сказал А.
— Вам, русским, виднее… — задумчиво ответила женщина.
Они допили кофе и, пожелав друг другу take it easy, разошлись.
— Абыдно, слюшай, — думал программист А., поднимаясь по лестнице на свой этаж. — И кто же я теперь?
За спиной программиста А. рабочая группа программистов-индийцев обсуждала дизайн будущего приложения. Обсуждение длилось уже больше часа и, казалось, застопорилось на одном месте. Индийцы добросовестно всматривались в каракули, нарисованные на доске, стирая одни и рисуя другие, но идея не приходила. Программист А. пытался сосредоточиться на своей работе, но и это не удавалось.
— Йех фанкшен хо на чэйи хе, — задумчиво сказал один индиец.
— Нахи, йе просиджа хо на чэйи хе, — возразил другой.
Они опять замолчали и уставились на доску.
— Мера кхайал хаин ки йе фанкшен аур просиджа хо на чэйи хе… — медленно и неуверенно выговорил третий.
Это было уже слишком. Программист А. резко повернулся в своем кресле и сказал:
— Айса нахи карна чэйи хе. Йе фанкшен хо на чэйи хе джо рикерсивли бу ла та хаин!
Индийцы посмотрели на А., потом на доску, потом опять на А., и в их глазах зажегся огонек понимания.
— Рикерсивли бу ла та хаин? — с надеждой переспросил один из них.
Программист А. кивнул, выразительно развел руками и повернулся обратно к своему монитору.
— Лекин, вох сахи хаин! — воскликнул индиец.
Программист А. сидел у камина в кресле-качалке и задумчиво сжигал рукопись, подкладывая в огонь лист за листом. В правой руке он держал бокал с аргентинским красным вином, а на полу рядом с ним, на медвежей шкуре, стоял поднос с нарезанным тонкими ломтиками корсиканским сыром Brin d'Amour. Терпкий запах вина смешивался в воздухе комнаты с ароматами чабера, розмарина и можжевельника от сыра. Кроме огня в камине, комнату освещали только три свечи на круглом столе в глубине комнаты, и поэтому в комнате царил полумрак. Дрожащие тени на стенах и полу отвечали каждому движению языков огня в камине.