Алексей Федорчук
2006.02.26
Как известно, программы сочиняются не сами для себя (хотя для разработчиков Open Source сочинение программ - в определенной мере самоцель). А в том числе и для того, чтобы их (хоть некоторые) использовали в реальной работе. И тут мы приходим к тому, что искуссно (мастерски, артистично - к этому я еще вернусь) сочиненная программа предъявляет к своему пользователю определенные требования. Главное из которых - умение столь же мастерски (а возможно, и артистично) использовать заложенный в ней создателем потенциал (подобно тому, как кровная и выезженая лошадь требует от своего наездника соответствующего умения верховой езды - но и к этой аналогии еще придется обратиться). Можно сказать, что чем больше мастерства (артистизма) вложено в программу разработчиком, тем более высокие требования она предъявляет к тем же качествам пользователя. И вот именно этому я и хотел бы посвятить свои заметки.
Для начала - о заглавии. Как назвал свою книгу Эрик - я уже говорил. Но следует помнить, что английское Art передается русским словом "искусство" не вполне адекватно. Также, как и производное от него слово Artist означает вовсе не обязательно актера на сцене, а художника - творца в самом широком смысле этого слова. То есть русским эквивалентом к нему выступил бы Поэт (который, как известно, в России больше, чем поэт). Потому я, не будучи поэтом в собственном смысле слова ("поэм не создал"), и позволил дать своим заметкам такое заглавие - Поэтика работы в Unix.
Отказался я и от напрашивающегося в заглавие слова - "использование". Во-первых, потому, что оно вызывает вполне определенные ассоциации (из старого советского анекдота - "Встретились я и моя компания. Использовали..."). А во-вторых, потому, что, как, говоря словами Эрика, "проектирование и реализация программного обеспечения должны быть радостным искусством", так не менее радостным должно быть и его применение для решения своих задач - и слово "использование", подразумевающее потребительское отношение к деятельности творцов, тут невместно...
Ну вот, вводные слова сказаны, пора переходить к предмету обсуждения. Однако и тут начать придется с седой "бронзовой" древности...
Где-то близ середины второго тысячелетия до нашей эры (или, как нынче принято говорить среди бывших коммунистов-атеистов, до Рождества Христова), на просторах Ближнего Востока появились "колесничные народы" - индоевропейцы, выходцы из евразийских степей. Наиболее известны из них арии, давшие правящую династию царства Митанни. Но к тому же общевосточному колесничному койнэ принадлежали, вероятно, и касситы - покорители Вавилонии, и гиксоссы, завоевавшие Нижний Египет, в него органично вписались хетты Анатолии и микенские греки-ахейцы. А отклики колесничной культуры достигли кельтов на Западе, индоариев Индии на Юге и Китая эпохи Чжоу - на Востоке.
"Колесничные народы" повернули ход мировой истории. Именно от них идет дискретная (но, тем не менее, никогда не прерывавшаяся полностью) традиция индивидуального мастерства, нашедная свое воплощение и в учении дзэн (чань) Дальнего Востока, и в современной европейской цивилизации. Если раньше (да, в большинстве случаев, и по сей день) исход боевых действий определялся численностью участников с той и другой стороны (как выражался Буонопарте, большие батальоны всегда правы), то тут впервые вступил в игру фактор интеллектуальный - технологическое превосходство и личное умение.
Действительно, давайте посмотрим, что такое боевая колесница. Это - предельно высокотехнологичное, по меркам того времени, изделие: каждая ее деталь - платформа, ось, обод и спицы колеса, - изготовлена именно так (и из того материала), как это предписано техзаданием. Что требует мастера - изготовителя.
Однако: колесница без движущей силы мертва. И потому ей требуются адекватная запряжка - пара лошадей совершенно определенного экстерьера. Но и этого мало: эта пара должна быть обучена и выезжена должным образом. И потому мастерство конской выездки - вторая составляющая успеха "колесничных народов". Благо, это запечатлено в дошедшем до наших дней хеттском трактате Киккуле - вероятно, митаннийца по происхождению (Филис, система выездки которого легла в основу подготовки красноармейской конницы - отдаленный его последователь).
Высокотехнологичная колесница и идеально обученная конская запряжка - хорошо. Однако техника в руках дикаря - это кусок металла. И любые технические средства требуют того, кто мог бы ими управлять. То есть третий компонент колесничного войска - это мастер-возница, не случайно их имена фигурируют в поэмах Гомера наравне с именами базилевсов...
И, наконец, конечный пользователь этого аппаратно-программного, как сказали бы мы сейчас, комплекса: колесничный боец. Ведь это ради него, ради его успеха делается колесница, растятся и обучаются кони, ради эффективности его действий управляет ими возница. А потому он обязан соответствовать по своим качествам тем усилиям, которые затратило на все эти дела общество.
К чести его, колесничного бойца, заметим: все исторические источники говорят, что он им соответствовал. Подтверждением чему будет и Махабхарата, и Записки о Галльской войне Цезаря, Гая Юлия, и более поздние свидетельства ирландских скел.
Я знаю, что среди моих читателей есть немалое количество POSIX'ивистов, которые по совместительству являются (или являлись в недалеком прошлом) рукопашниками-единоборцами. Так вот, вне зависимости от школ, в традициях которых вы обучались, - истоки вашего искусства лежат в той самой "бронзовой" древности колесничных бойцов...
Не правда ли, если присмотреться к компонентам, определившим успех "колесничных народов", можно увидеть картину, знакомую по IT-индустрии? В основании которой:
И, как венец пирамиды, - конечные пользователи. То есть - мы с вами. Так неужто нам не стыдно было бы отстать от конечных пользователей колесничных комплексов древности? И не совершенствовать свое умение применять на деле те средства, которые с искусством и любовью обеспечили нам создатели всех ступеней базиса? И не западло ли полагать, что все для нас уже сделано - остается только тупо тыкать мышкой туда, куда предписано?