Чтение онлайн

на главную - закладки

Жанры

Записки программиста А.

Петрович Александр

Шрифт:

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

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

Его взгляд упал на настенный календарь,

показывающий 10 июня.

— Да… — подумал программист А. — Что ни говори, длинная в этом году зима. Даже для Новой Англии длинная.

0110101

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

Программист А. зажег гирлянды и потушил свет. Комната погрузилась в мигающий разноцветный сумрак. Сев за стол, он откупорил шампанское, наполнил бокал и взглянул в светящийся голубым светом экран телевизора. Играла поставленная им кассета с “Иронией судьбы”. Ну что ж, будем… — подумал программист А. и пригубил шампанское. До Нового Года оставалось 114 дней.

0110110

— Странно, — подумал мозг. — Этот последний блок данных явно имеет противоречивую информацию в заголовке. Так, посмотрим… Насколько я помню формат заголовка, первые два байта — это внутренний идентификационный номер сообщения. Ну, тут проблем нет, если он, конечно, уникален. Потом — 512 байт — имя блока данных, по два байта на символ, из-за китайцев приходится использовать юникод, чтоб его… Так, что там дальше? Пошли указатели на разные области памяти. Ага, вот оно! Указатель на область событий прошлого. Вот тут-то, похоже, и проблема. Если этот указатель ненулевой, а в данном случае он ненулевой, то дата в соответствующем поле в конце заголовка должна отвечать определенному событию в прошлом. Так… Смотрим на дату… Так и есть! Дата-то сегодняшняя! Как будто это происходит прямо сейчас… Противоречие получается. И как же мне прикажете идентифицировать это событие?

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

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

И мозг уверенно направил данные в область событий прошлого.

— D'ej`a vu, — подумал программист А.

Часть 2

0110111

Программист А. открыл

окно Notepad, напечатал слово BEGIN и спросил начинающего индийского программиста:

— Что это?

— Это оператор BEGIN, означающий начало программы, — ответил начинающий программист.

— Хорошо, — сказал программист А. и стер слово BEGIN. — А что это теперь?

— Теперь там ничего нет, — ответил начинающий программист.

— Неверно, — сказал А. — Начало программы по-прежнему там. BEGIN — всего лишь слово на одном из языков программирования, оно и близко не может передать истинного значения “начала программы”. То, что ты хочешь написать, уже существует. Ты не должен писать ни строчки кода, пока не осознаешь эту истину. Понял?

— Понял, — ответил начинающий программист.

— Ничего он не понял, — ворчал программист А. вечером, пытаясь разобраться в 2000 строк кода, которые успел в первый же день работы наваять начинающий индийский программист.

0111000

Программиста А. спросили: What's the difference between love and sex?

— Love takes two, — ответил программист А.

0111001

Программист А. проснулся как-то осенью и огляделся. Он сидел на рабочем месте перед своим монитором с открытым на нем пустым окном редактора. Часы показывали 11:11 am, индийские программисты вокруг с энтузиазмом печатали новый код, QA захлебывался в нескончаемом потоке багов, менеджеры с озабоченными лицами расходились с очередного митинга. Deadline приближался, но проект был выполнен лишь наполовину.

В следующий раз программист А. проснулся в декабре. Он по-прежнему сидел на рабочем месте перед пустым окном редактора, часы по-прежнему показывали 11:11 am, индийские программисты все так же печатали новый код, QA захлебывался в нескончаемом потоке багов, а менеджеры с озабоченными лицами расходились с очередного митинга. Deadline приближался, но проект был выполнен лишь на четверть.

В следующий раз программист А. проснулся в марте. Часы показывали 11:11 pm, deadline был через неделю, и А. уже несколько дней сидел в офисе, практически не вылезая, пытаясь хоть как-то связать вместе куски кода.

— Что за хренотень! — ругался про себя А, в сотый раз добавляя явную инициализацию для переменной, которую начинающий индийский программист использовал в условном операторе. — Сон какой-то у меня стал прерывистый! К врачу, что ли, сходить…

0111010

Однажды утром программист А. наткнулся на работе у кофеварки на двух индийских коллег, которые о чем-то горячо спорили.

— О, вот ты рассуди нас, — сказал один из них. — Мы поспорили, когда лучше продавать акции, а когда лучше покупать.

— А? — сказал программист А.

— Я считаю, что акции нужно покупать, когда они падают, и продавать, когда растут. Когда акции падают, их можно купить дешевле, поэтому их нужно покупать. Когда акции растут, невозможно предсказать, когда рост остановится, поэтому их нужно продавать, пока они не упали.

— Я считаю, что акции нужно покупать, когда они растут, и продавать, когда они падают, — сказал второй индийский программист. — Когда акции растут, цена их увеличивается, поэтому их нужно покупать. Когда акции падают, невозможно предсказать, когда падение остановится, поэтому их нужно сразу же продавать. Кто из нас прав?

Поделиться:
Популярные книги

Сердце Дракона. Том 11

Клеванский Кирилл Сергеевич
11. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
6.50
рейтинг книги
Сердце Дракона. Том 11

Я тебя верну

Вечная Ольга
2. Сага о подсолнухах
Любовные романы:
современные любовные романы
эро литература
5.50
рейтинг книги
Я тебя верну

Интриги двуликих

Чудинов Олег
Фантастика:
космическая фантастика
5.00
рейтинг книги
Интриги двуликих

Третий. Том 3

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
Третий. Том 3

Облачный полк

Эдуард Веркин
Старинная литература:
прочая старинная литература
5.00
рейтинг книги
Облачный полк

Невеста снежного демона

Ардова Алиса
Зимний бал в академии
Фантастика:
фэнтези
6.80
рейтинг книги
Невеста снежного демона

Вспомнить всё (сборник)

Дик Филип Киндред
Фантастика:
научная фантастика
6.00
рейтинг книги
Вспомнить всё (сборник)

Сердце Дракона. Том 9

Клеванский Кирилл Сергеевич
9. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.69
рейтинг книги
Сердце Дракона. Том 9

Кодекс Крови. Книга V

Борзых М.
5. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга V

Восход Эндимиона

Симмонс Дэн
4. Гиперион
Фантастика:
космическая фантастика
9.00
рейтинг книги
Восход Эндимиона

Сумеречный Стрелок 4

Карелин Сергей Витальевич
4. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 4

Глубина в небе

Виндж Вернор Стефан
1. Кенг Хо
Фантастика:
космическая фантастика
8.44
рейтинг книги
Глубина в небе

Работа для героев

Калинин Михаил Алексеевич
567. Магия фэнтези
Фантастика:
фэнтези
героическая фантастика
6.90
рейтинг книги
Работа для героев

Николай I Освободитель. Книга 2

Савинков Андрей Николаевич
2. Николай I
Фантастика:
героическая фантастика
альтернативная история
5.00
рейтинг книги
Николай I Освободитель. Книга 2