Следует также упомянуть и о
Можно с достаточной уверенностью сказать, что название этой работы является ссылкой на Дзэн- классику
Возник серьезный спор о том, к какой из школ, выросших из раннего эпохального путешествия патриарха Томпсона в Беркли, следует причислить Мастера Фу — к Восточной (Нью-Джерси) или к Западной. Если этот вопрос до сих пор не разрешен, то, вероятно, именно потому, что мы не можем даже точно установить — а существовал ли вообще Мастер Фу? Под этим именем может скрываться просто группа учителей или все последователи Дхармы.
Даже если предположить, что легенда о Мастере Фу сформировалась вокруг учения какой-то одной личности, как быть с его любимым учеником Ньюби (Nubi)? У Ньюби есть все признаки типичного образцового ученика. Вспоминаются легенды о любимом последователе Будды Ананде (Ananda). Представляется вероятным, что существовал исторический Ананда, однако никакие следы его реальной личности не пережили эфемерный процесс, который отполировал личность Будды и превратил его в вечный миф.
В конечном итоге все, что мы можем, — это принять эти поучительные истории и извлечь те зерна мудрости, которые в них содержатся.
Мастер Фу и десять тысяч строк
Однажды Мастер Фу сказал заезжему программисту: 'В одной строке кода shell-сценария больше духа Unix, чем в десяти тысячах строк на языке С!'
Программист, гордый своими познаниями в С, ответил: 'Может ли быть такое? Ведь С — язык, в котором реализовано само ядро Unix!'
На это Мастер Фу ответил: 'Это так. Тем не менее, в одной строке shell-сценария больше духа Unix, чем в десяти тысячах строк С!'
Программист выглядел удрученным. 'Но ведь через язык С мы познаем просвещенность патриарха Ритчи! Мы уподобляемся человеку с операционной системой и компьютером, который получает непревзойденную производительность!'
Мастер Фу сказал: 'То, что ты говоришь, правда. Однако в одной строке shell-сценария больше духа Unix, чем в десяти тысячах строк С'.
Программист усмехнулся и поднялся, чтобы удалиться. Но Мастер Фу кивнул своему ученику Ньюби, который писал строку shell-кода на стоящей рядом белой доске, и сказал: 'Господин программист, посмотрите на этот конвейер! Не заняла бы его реализация на С десять тысяч строк?'
Просматривая то, что писал Ньюби, программист что-то бормотал в бороду. В конце концов, он согласился, что это так.
'И сколько часов потребовалось бы вам для реализации и отладки этой программы на языке С?'
'Много', — признал заезжий программист. 'Но только безумец стал бы тратить столько времени, когда его ждет множество более достойных задач'.
'Так кто лучше понимает дух Unix?' — спросил Мастер Фу. 'Тот, кто пишет десять тысяч строк, или тот, кто, сознавая тщетность этих усилий, извлекает пользу, не программируя?'
Услышав это, программист достиг просветления.
Мастер Фу и Скрипт Кидди
Незнакомец из страны Вут пришел к Мастеру Фу во время его утренней трапезы.
'Я не раз слышал о вашем величии, — сказал он. — Пожалуйста, научите меня всему, что знаете'.
Ученики Мастера Фу переглянулись, смущенные варварским языком пришельца. Мастер Фу только улыбнулся и ответил: 'Вы хотите изучить путь Unix?'
'Я хочу быть волшебником-хакером,— ответил незнакомец, — и владеть всеми компьютерами'.
'Я не учу этому', — ответил Мастер Фу.
Волнение незнакомца росло. 'Отец, вы — позер и ничего больше, — сказал он. — Если бы Вы знали хоть что-нибудь, то научили бы меня'.
'Есть путь, который может привести тебя к мудрости', — сказал Мастер Фу. Мастер нацарапал какой-то IP-адрес на клочке бумаги. 'Взлом этого сервера не составит для тебя большого труда, поскольку его хранители не компетентны. Возвращайся и расскажи мне, что ты ищешь'.
Незнакомец поклонился и вышел. Мастер Фу закончил трапезу.
Прошли дни, а затем месяцы. О незнакомце забыли.
Спустя годы незнакомец из страны Вут вернулся.
'Будь ты проклят!' — воскликнул он. — Я взломал этот сервер, это было не трудно, как ты и сказал. Но ФБР схватило меня и бросило в тюрьму'.
'Хорошо', — сказал Мастер Фу. — Ты готов к следующему уроку'. Он написал IP-адрес на бумаге и передал его незнакомцу.
'Вы
Мастер Фу улыбнулся. 'Здесь, — сказал он,— начинается мудрость'.
Услышав это, странник достиг просветления.
Мастер Фу рассуждает о двух дорогах
Мастер Фу учил своих студентов:
'В учении дхармы есть направление, выражаемое мантрой патриарха Макилроя — 'Делай хорошо одну вещь', которая подчеркивает, что программное обеспечение движется по пути Unix, если оно ведет себя просто и последовательно, и обладает свойствами, которые могут быть легко смоделированы в мозгу пользователя и использованы другими программами'.
'Но есть и другое направление в учении дхармы, примером которого может служить великая мантра патриарха Томпсона — 'Находясь в сомнении, используй грубую силу', и различные сутры о большей ценности 90% функций прямо
'Теперь скажите мне: каким программам присущ дух Unix?'
Помолчав, Ньюби заметил: 'Учитель, эти два учения могут противоречить друг другу'.
'Простой реализации может не хватить логики в граничных ситуациях, таких как нехватка ресурсов или неудачная попытка закрыть окно или таймаут во время незаконченной транзакции'.
'Когда возникают подобные граничные ситуации, поведение программного обеспечения становится непредсказуемым и сложным. Конечно, это не есть путь Unix'.
Мастер Фу кивнул в знак согласия.
'С другой стороны, хорошо известно, что причудливые алгоритмы хрупки. Кроме того, каждая попытка охватить граничные случаи имеет тенденцию взаимодействовать с центральными алгоритмами других программ и с кодами, описывающими другие граничные ситуации'.
'Таким образом, попытка изначально охватить все граничные случаи, гарантируя 'простоту