Александр Петровчич - Записки программиста А.
— Сэр? — повторил голос. — Пожалуйста не сердитесь…
— Я не сержусь, — сказал А. — Я вас слушаю.
— Вы уверены, что не сердитесь, сэр? — голос в трубке немного оживился. — Потому что если вы сердитесь, то я…
— Я не сержусь, — сказал А. — Чем я могу вам помочь?
— А вы случайно не занимались чем-нибудь важным, когда я позвонил? — озабоченно спросил голос. — Потому что если вы занимались…
— Нет, все в порядке, я вас слушаю, — сказал А.
— Или, сэр, не дай бог, может, вы обедали? Потому что если вы обедали, то я… Да я никогда!..
— Нет, я не обедал, — сказал А.
— Но сэр, вы уверены, что вы не обедали? Пожалуйста, не скрывайте от меня, мне это очень важно, потому что меньше всего на свете я бы хотел оторвать вас от об…
— Не обедал я! — сказал А. — Чем я могу вам помочь?
— Пожалуйста, сэр, только не сердитесь… — попросил голос.
— Я не сержусь, — спокойно повторил А. — Кто вы и что вам нужно?
— Вы уверены, что вы хотите это знать, сэр? — взволнованно спросил голос. — Это такая честь для меня, сэр, я не могу выразить…
— Да, я хочу знать, кто вы и зачем вы мне звоните, — сказал А.
— Я так и знал, сэр, вы сердитесь! — сокрушенно произнес голос. — Вы все-таки скрыли от меня, что были заняты чем-то важным, когда я позвонил. Я чувствую это, теперь я это определенно чувствую! О, люди! Почему мы не можем просто сказать друг другу правду, даже когда нас просят об этом. Все, что я просил, сэр, это сказать мне правду, потому что если вы были чем-то заняты, то я бы… Но это моя вина, сэр, только моя! Как я мог не догадаться, что такой человек, как вы, конечно, всегда занят, и всегда делает что-то важное…
В трубке послышалось всхлипывание и звуки сморкания.
— Кто вы и что вам нужно? — настойчиво повторил А.
— Спасибо за ваш вопрос, сэр, — сказал голос, успокаиваясь и принимая деловитые интонации. И уверяю вас, сэр, что вы имеете полное право знать, кто я и зачем я звоню, в соответствии в новым фереральным актом от…
— Короче, что вам нужно? — теряя терпение спросил А.
— Могу ли я заинтересовать вас нашим новым кабельным сервисом? — спросил голос.
— Нет, — ответил А.
— Спасибо, сэр! — воскликнул голос. — И позвольте вас уверить, что мы…
— Пожалуйста, — сказал программист А. и положил трубку.
— А все-таки, раньше как-то немного проще было, — подумал он, возвращаясь к столу. — Может, и не надо было включать себя в этот do-not-call list.
0011000South Border Street, — прочитал программист А. изогнутый бело-зеленый указатель на пересечении улиц и повернул направо. “Если бы еще знать, в каком я городе”, - подумал он. Сделав несколько поворотов наугад, он внезапно увидел черно-белый указатель с цифрами 128 и стрелкой прямо.
— Ну наконец-то, — подумал А. — Выйду на 128, там как-нибудь по номеру выхода сориентируюсь.
Он с энтузиазмом устремился в указанном направлении, проехал несколько миль, но пересечение со 128 упорно не появлялось. Программист А. остановился на заправке Mobil чтобы спросить дорогу. Войдя в магазин, он направился к стойке. Юная бесформенная девушка за стойкой удивленно посмотрела на программиста А. когда он начал говорить, но удивление в ее глазах быстро растаяло, превратившись в привычное усталое безразличие.
— Я не знаю, — ответила она с забавным мягким акцентом. — Я здесь недавно.
— Откуда? — поинтересовался программист А.
— Из Нью Джерси, — сказала девушка. — Из Vineland.
Неожиданно ее лицо приняло страдальческое выражение, и она выпалила плаксивым голосом:
— Боже, как я хочу обратно в Нью Джерси! Там все другое, все лучше, чем здесь! Люди другие, приветливые, веселые… Погода хорошая, всегда светит солнце. Цветами пахнет, а не бензином… Как я хочу в отсюда в Нью Джерси!
Программист А. пробормотал пару утешительных слов, пожелал ей удачи и вышел из магазина.
— Бывал я в этом Нью Джерси, — думал он, продолжая ехать по незнакомой дороге в неизвестном направлении. — И в этом Vineland бывал, проездом. Все там такое же! Единственное отличие — очень много платных дорог. Еще там постоянно идет дождь. И люди какие-то мрачные и неприветливые. И, кстати, пахнет бензином. А послушать эту подругу — так надо прямо сейчас паковать чемоданы и ехать в Нью Джерси.
0011001Американские исследователи обнаружили у высших приматов способности к работе с компьютером. На основании результатов исследования они даже предсказывают, что в течение десяти лет большинство примитивных операций в программировании или при тестировании программ будут выполняться обезьянами. Об этом говорится в пресс-релизе компании Primate Programming Inc.
(Сервер новостей NEWSru.com, Среда, 6 августа 2003 г.)
Начинающий программист подошел к программисту А. и сказал:
— Я продвинулся вперед.
— Как это? — удивился программист А., пытаясь унять шум в голове после вчерашней пьянки.
— Я переписал алгоритм бинарного поиска так, что он работает в несколько раз быстрее.
— А! — сказал программист А. — Ну, это хорошо, но это еще не все…
На следующий день начинающий программист подошел к программисту А. и сказал:
— Я продвинулся вперед.
— Чего? — не понял программист А., пытаясь разомкнуть веки, слипающиеся после бессонной ночи.
— Я понял, как использовать многомерные массивы в PL/SQL.
— Да? Неплохо, — сказал программист А. — Но это еще не все…
На следующий день начинающий программист опять подошел к программисту А. и сказал:
— Я продвинулся вперед.
— Слушай, — не выдержал программист А., снова не выспавшийся после вчерашнего. — Шел бы ты куда-нибудь, пива бы, что ли, выпил, а?
Начинающий программист молча вернулся к своему компьютеру.
— И кому только пришла в голову мысль нанимать на работу обезьян! — устало подумал программист А. — Неужели не ясно — никогда им не стать настоящими программистами.
0011010
Давно замечено, что серьезные проблемы в коде имеют тенденцию открываться именно в пятницу, ближе к вечеру, когда то, что ты хочешь меньше всего на свете — это работать над проблемами, а больше всего на свете — это выпить пива. Конечно, как и всему остальному, этому есть простое и разумное объяснение.
В больших компаниях программисты отделены от покупателей их программ группой поддержки. Ребята в группе поддержки не обязательно отличаются высокой технической грамотностью или пониманием того, как работает код. Зато у них есть умение общаться с покупателем и знание формальностей и процедур. Решить проблему они, конечно, не могут, но задержать покупателя на какое-то время, чтобы он не очень шумел — это им вполне по силам. Они запрашивают у покупателя дополнительные данные, которые на самом деле никому не нужны, просят его заполнить формы, на обработку каждой из которых уходит несколько дней, и таким образом создают видимость работы, которой покупатель до определенного момента удовлетворяется.
Однако время идет, дело не двигается, и вот покупатель видит, что подходит к концу очередная неделя, вот уже вечер четверга, и ничего не сделано. У покупателя в голове щелкает, он вспоминает, что это он платит деньги, стучит кулаком по столу и требует соединить его с президентом компании. Ребята из группы поддержки смекают, что покупатель созрел, и профессионально самоустраняются. Дальнейшая процедура занимает ровно день, и вот, как раз к вечеру пятницы, программист оказывается один на один с нерешенной проблемой, огромным количеством бесполезных данных и раздраженным клиентом.
— И таким образом, тому, что проблемы в коде открываются именно в пятницу, есть вполне рациональное объяснение, — логично заключил программист А.
Был вечер пятницы, и он собирался выпить свежего пива после напряженного рабочего дня. Внезапно в дверях обеспокоенно возник его менеджер.
— Проблема, — сказал менеджер.
— Кто бы сомневался! — сказал программист А.
0011011Программист А. ехал на вечеринку из Burlington в Woburn и был в прекрасном настроении. Вечер обещал быть веселым, не говоря о пиве. На выходе на 95-ю, он встал не в ту полосу. Перестраиваться было неудобно, и суетиться не хотелось.
— А, какие проблемы, — подумал программист. — Сейчас быстренько развернусь где-нибудь.
Он спокойно выехал на 95-ю в противоположном направлении и съехал на ближайший выход, который вывел его на 3 North.
— При первой же возможности и развернусь, — подумал А.
Однако выходов не было довольно долго. Узкая двухполосная дорога равнодушно убегала вдаль. Через несколько миль А. увидел над дорогой знакомый зеленый прямоугольник. На нем было написано: 62 West. На запад А. было не надо, но он решил все-таки попытать счастья, потому что следующий выход мог быть нескоро. Он съехал на 62. Местность приобретала ярко выраженный сельский характер, не лишенный оттенка идиллии. Проехав около 10 минут, А. увидел знак выхода. Он гласил: 4 — 225. А. съехал с дороги и неожиданно оказался перед развилкой. Знаки показывали, что налево уходили 4 East и 225 North, а направо — 4 West и 225 South. А. лихорадочно соображал. Проблема была в том, что ему был нужен либо East, либо South, и не нужен был ни North, ни West. Растерявшись, А. попытался попасть на 4 East, но в одном месте дорога опять разветвлялась, знака не было, и А. выехал на 225 North.