Книга: Искусство программирования для Unix
Мастер Фу рассуждает о двух дорогах
Мастер Фу рассуждает о двух дорогах
Мастер Фу учил своих студентов:
"В учении дхармы есть направление, выражаемое мантрой патриарха Макилроя — "Делай хорошо одну вещь", которая подчеркивает, что программное обеспечение движется по пути Unix, если оно ведет себя просто и последовательно, и обладает свойствами, которые могут быть легко смоделированы в мозгу пользователя и использованы другими программами".
"Но есть и другое направление в учении дхармы, примером которого может служить великая мантра патриарха Томпсона — "Находясь в сомнении, используй грубую силу", и различные сутры о большей ценности 90% функций прямо сейчас, чем 100% позже, что подчеркивает надежность и простоту реализации".
"Теперь скажите мне: каким программам присущ дух Unix?"
Помолчав, Ньюби заметил: "Учитель, эти два учения могут противоречить друг другу".
"Простой реализации может не хватить логики в граничных ситуациях, таких как нехватка ресурсов или неудачная попытка закрыть окно или таймаут во время незаконченной транзакции".
"Когда возникают подобные граничные ситуации, поведение программного обеспечения становится непредсказуемым и сложным. Конечно, это не есть путь Unix".
Мастер Фу кивнул в знак согласия.
"С другой стороны, хорошо известно, что причудливые алгоритмы хрупки. Кроме того, каждая попытка охватить граничные случаи имеет тенденцию взаимодействовать с центральными алгоритмами других программ и с кодами, описывающими другие граничные ситуации".
"Таким образом, попытка изначально охватить все граничные случаи, гарантируя "простоту описания", может на деле привести к созданию кода, который излишне усложнен или слишком неустойчив, или который в случае, если он переполнен ошибками, не будет завершен никогда. Конечно, это не есть путь Unix".
Мастер Фу кивнул в знак согласия.
"Каков же, в таком случае, путь дхармы?" — спросил Ньюби.
И учитель ответил: "Когда орел летит, забывает ли он о том, что его лапы касались земли? Когда тигр после прыжка настигает свою жертву, забывает ли он о моменте, проведенном в воздухе? Три фунта VAX!"
Услышав это, Ньюби достиг просветления.
- Предисловие редактора
- Мастер Фу и десять тысяч строк
- Мастер Фу и Скрипт Кидди
- Мастер Фу рассуждает о двух дорогах
- Мастер Фу и консультант по методологии
- Мастер Фу рассуждает о графическом пользовательском интерфейсе
- Мастер Фу и фанатик Unix
- Мастер Фу рассуждает о природе Unix
- Мастер Фу и конечный пользователь
- Дополнительная информация
- Г Корни без корней: Unix-коаны Мастера Фу
- Forced writes - палка о двух концах
- Домашняя мастерская: вы всегда на работе
- Материнская плата имеет возможность организации RAID-массивов из двух SATA-дисков. Можно ли подключить к ней только один...
- Мастер функций
- Практическая работа 46. Выполнение расчетов с использованием Мастера функций
- Советы по использованию Мастера фунций
- Аффилиаты: сидя на двух стульях
- Двухмерный график долгосрочных дел, задач и проектов
- Двухмерный график контроля за делегированными задачами
- Двухтоварная выкладка: 1 + 1 = 3
- Рис. 191. Мастер диаграмм: шаг 2.