Saratov Linux User Group
 help / color / mirror / Atom feed
From: "Алексей Синицын" <a.sinitsin@overta.ru>
To: Sarlug mailing list <sarlug@lug.ru>
Subject: [Sarlug] Humor
Date: Wed, 8 Jan 2003 14:14:28 +0300
Message-ID: <20030108141429.48ea813a.a.sinitsin@overta.ru> (raw)

и в конце концов все получается вот так  

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

А в это время, в соседних четырех кубиках, будет ни на секунду не утихать
работа китайских программистов, непостижимым образом умудряющихся прийти
раньше русского программиста, уйти позже, и при этом сделать примерно
втрое меньше. Эта четверка давно не пишет ничего нового, а только
поддерживает код, написанный в свое время индусом, и дважды переписанный
двумя разными русскими. В этом коде не просто живут баги. Здесь их гнездо.
Это гнездо постоянно воспроизводит себя при помощи любимой китайской
технологии реиспользования кода - copy/paste. Отсюда баги расползаются в
разные стороны посредством статических переменных и переменных, переданных
по ссылке (ведь, китайский программист не может смириться с неудобствами
вызванными тем, что он не может изменить значение внешнего параметра).
Вспоминая об этих переменных и ссылках, русский программист, как правило,
на время теряет дар английской речи, и переходит к какой-то помеси
русского и китайского. Он давно мечтает переписать весь кусок, над которым
работают китайцы, но у него нет времени. Он уже переписывает два больших
куска, и доказал начальству необходимость переписать третий. Кроме того,
русский программист боится обидеть китайцев. Они могут решить, что он
пытается вытеснить их с работы. К слову сказать, напрасно боится,
поскольку китайцы уже так решили.

Hа китайцах висят серьезные баги, о которых знает начальство и постоянно
их торопит. Китайцы уважают начальство и потому перевешивают баги друг на
друга очень торопливо. Они знают, что все попытки починить приведут к
появлению новых багов, еще худших. И в этом они правы. Разобраться в том,
в каком порядке меняются статические переменные, и как приобретают свои
значения, способен только один человек на фирме - индус. Hо он пребывает в
медитации. Поэтому, когда всю четверку уволят во время сокращения... А
кого еще увольнять? Русский - еще не переписал свой кусок, а индус -
главная ценность фирмы - он редко обращает внимание на проект, но когда
обращает, все понимают, что так как он, архитектуру никто не знает. Так
вот, когда китайцев увольняют, у их кода возможны две основные судьбы.
Первая - он попадет к русским, и его перепишут. Вторая - он попадет к
местному, канадскому программисту.

О, канадский программист это особый тип. Он, ни на минуту не задумываясь,
как рыцарь без страха и упрека, бросится фиксить самый свирепый баг
китайского кода. Этот Баг живет там уже три года, и китайцы уже четырежды
(каждый по разу) сообщали начальству, что он пофиксен. Hо Баг каждый раз
возвращался, как Бетмен в свой Готхем. Итак, канадский программист,
воспитанный на героической патетике американского футбола - бросаться в
бой головой вперед, сделает то, чего китайцы не рисковали делать в течении
трех долгих лет. Он, при помощи дебагера, отследит место, где статическая
переменная приняла значение -1 вместо правильного 0, и решительным
движением заведет рядом вторую переменную с правильным значением. Баг
погибнет в неравной схватке с героем. Hо победа будет достигнута тяжелой
ценой. Работать перестанет все, включая только что переписанный русским
программистом код. Это повергнет русского программиста в задумчивость на
целых два дня, после чего он сделает, в общем-то, предсказуемый вывод о
том, что дизайн с самого начала был неправильным, и все надо переписать.
Hа это нам нужна неделя. Да, неделя, не больше. Канадский программист
смело бросится налаживать все, и станет еще хуже, хотя казалось бы... Эта
суета выведет из медитации индуса, который придумает и вовсе гениальное
решение - отбранчить код. Согласно его плану, мы теперь будем поддерживать
две версии одного и того же кода - одну работающую, но с Багом, другую без
Бага, но не работающую. Русский программист, услышав об этом плане,
сломает линейку об стол и обзовет жену дурой, но на митинге возразить не
решится.

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

-- 
С уважением
Синицын Алексей		mailto:a.sinitsin@overta.ru


             reply	other threads:[~2003-01-08 11:14 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-08 11:14 Алексей Синицын [this message]
2003-01-08 15:05 ` Amodeus
2003-01-09  8:15   ` Алексей Синицын

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030108141429.48ea813a.a.sinitsin@overta.ru \
    --to=a.sinitsin@overta.ru \
    --cc=sarlug@lug.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Saratov Linux User Group

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sarlug/0 sarlug/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sarlug sarlug/ http://lore.altlinux.org/sarlug \
		sarlug@lists.lug.ru sarlug@lug.ru
	public-inbox-index sarlug

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sarlug


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git