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