Искусство программирования для Unix - Реймонд Эрик Стивен
Шрифт:
Интервал:
Закладка:
Мастер Фу кивнул в знак согласия.
Ученик продолжал: "Однако нам также говорят, что другая фирма, OpenGroup, также удерживает реальную власть над Unix".
Мастер Фу кивнул в знак согласия.
"Как такое возможно?" — спросил ученик.
Мастер Фу ответил: "SCO действительно владеет кодом Unix, но код Unix — это не сама Unix. OpenGroup действительно владеет маркой Unix, но название Unix — это не сама Unix".
"В чем же тогда сущность Unix?" — спросил студент.
Мастер Фу ответил: "Не в коде. Не в имени. Не в мышлении. Вообще ничего материального. Вечное изменение без перемен".
"Сущность Unix проста и пуста. Поскольку она проста и пуста, она сильнее тайфуна".
"Повинуясь естественным законам, она непреклонно расцветает в умах программистов, ассимилируя конструкции в свою собственную природу. Всякое программное обеспечение, которое хотело бы конкурировать с Unix, должно стать таким, как Unix: пустым, пустым, глубоко пустым, абсолютно лишенным содержания потоком!"
Услышав это, ученик достиг просветления.
Мастер Фу и конечный пользователь
В другой раз, когда Мастер Фу давал публичную лекцию, один пользователь, наслушавшись рассказов о мудрости Учителя, подошел к нему за советом.
Он трижды поклонился Мастеру Фу. "Я хочу постичь тайны Великого Пути, но командная строка вводит меня в замешательство".
Некоторые из наблюдавших это неофитов начали насмехаться над пользователем, называя его невежественным и говоря, что Великий путь Unix предназначен только для тех, в ком есть порядок и интеллект.
Учитель поднял руку, призывая к тишине, и позвал самого шумного из неофитов, который засмеялся первым, подойти к месту, где они сидели с пользователем.
"Расскажи мне" — спросил он у неофита, — о коде, который ты написал, и о работе по проектированию, которую ты проделал".
Неофит начал, заикаясь, отвечать, но не мог ничего сказать.
Мастер Фу повернулся к пользователю. "Скажи мне, — осведомился он, — зачем ты ищешь Великий Путь?"
"Мне не нравится программное обеспечение, которое окружает меня, — отвечал пользователь. — Оно работает ненадежно и не радует глаз и сердце. Услышав о том, что путь Unix, хотя и труден, но превосходен, я пытаюсь отбросить все препоны и обман".
"И чем же ты занимаешься, если так борешься с нынешним программным обеспечением?" — спросил Мастер Фу.
"Я — строитель, — ответил пользователь. — Многие дома в этом городе Построены моими руками".
Мастер Фу повернулся к неофиту. "Кошка может насмехаться над тигром, — сказал он, — но это не превратит мяуканье в рев".
Услышав это, неофит достиг просветления.
Дополнительная информация
В процессе составления оригинала данной книги какое-либо частное программное обеспечение не использовалось. Черновики были набраны из главных файлов XML-DocBook, созданных с помощью редактора GNU Emacs. Формирование PostScript-представления осуществлялась с помощью программы Тима Bora (Tim Waugh) xmlto, таблиц стилей XSL Нормана Уолша (Norman Walsh), программы xlsproc Да-ниеля Вейлларда (Daniel Veillard), PassiveTeX-макросов Себастьана Ратца (Sebastian Rahtz), ТеТеХ-дистрибутива наборной машины Т]Х Дональда Кнутта (Donald Knuth) и постпроцессора Томаса Рокики (Thomas Rokicki) dvips. Все диаграммы компоновались автором с помощью утилиты pic2graph, управляющей gpic, и grap2graph, управляющей grap-реализацией Теда Фабера (Ted Faber) (утилита grap2 graph была написана автором для данного проекта и в настоящее время является частью дистрибутива groff). Вся инструментальная связка работала на стандартной системе Red Hat Linux.
Дизайн обложки — композиция двух изображений из оригинальных Дзэн-ком иксов (Zen Comics) Иоанны Саладжан (Ioanna Salajan). Он был адаптирован и раскрашен в основном Джерри Вотта (Jerry Votta) при участии автора.
Сноски
1 Оценка его работы со ссылками на Web-всрсии значимых частей находится на странице "Записки о Кристофере Александре" <http: //http: //www.math.utsa.edu/~salingar/Chris.text.html>.
2 С его именем неразрывно связаны такие понятия, как расстояние Хсмминга (Hamming distance) и код Хсмминга (Hamming code).
3 Джим Геттис, один из архитекторов системы X (и человек, внесший свой вклад в данную книгу), в статье "The Two-Edged Sword" [29] глубоко размышляет о том, как стиль невмешательства X может продуктивно развиваться дальше. В этом эссе представлен ряд специфических рекомендаций и выражен характерный для Unix образ мышления.
4 Другие операционной системы в общем случае копируют или клонируют Unix-реализации TCP/IP. Их ошибка заключается в том, что они обычно не заимствуют имеющиеся в Unix прочные традиции экспертной оценки, примерами которых являются такие документы, как RFC 1025 (TCP and IP Bake Off).
5 Первоначально это было сказано Стефаном С. Джонсоном (Stephen С. Johnson), который, вероятно, более известен как автор программы уасс, об оснастке TSO в операционной системе IBM MVS.
6 Здесь представлено оригинальное дополнение Пайка (см. книгу Брукса, стр. 102). Ссылка указывает на раннее издание книги "The Mythical Man-Month" [8]: "Покажите мне ваши блок-схемы, скройте таблицы, и я буду озадачен, покажите мне ваши таблицы и, скорее всего, блок-схемы мне не потребуются; они будут очевидны".
7 Джонатан Постел (Jonathan Postel) был первым редактором серии Internet-стандартов RFC и одним из главных архитекторов Internet. Памятная страница <http://vjww.postel.org/postel.html> поддерживается Центром Постела по экспериментальным сетям (Postel Center for Experimental Networking).
Полная цитата такова: "Нам следует забывать о небольшой эффективности, например, в 97% случаев: преждевременная оптимизация — корень всех зол". Сам Кнутт приписывал эту цитату Ч. Хоару (Charles Antony Richard Hoare). - Прм. авт.
Одним замечательным примером является статья Батлера Лампсона (Butler Lampson) "Рекомендации по проектированию компьютерных систем" (Hints for Computer System Design) [43], которые были обнаружены позднее в процессе подготовки данной книги. В статье не только выражены многие афоризмы Unix в формах, которые были открыты независимо, по и используется множество тех же ключевых фраз для их иллюстрации.
8 Кен Томпсон напомнил автору, что сегодняшние сотовые телефоны обладают большим объемом оперативной памяти, чем совокупный объем оперативной памяти и дискового пространства PDP-7. Большой диск в то время имел емкость меньше одного мегабайта.
9 Существует Wcb-вереия списка часто задаваемых вопросов (FAQ) по PDP-компьютсрам <http://vmw.faqs ,org/faqs/dec-faq/pdp8/>, в котором по-другому трактуется роль компьютера PDP-7 в истории.
10 Руководства по седьмой версии доступны на странице http://plan9.bell-labs.com/7thEdMan/ index.html.
11 UUCP считалась великолепным средством, когда быстрый модем обеспечивал скорость 300 бод.
12 Серия PS/2, тем не менее, действительно оставила свой след в последующих компьютерах IBM PC — в этой серии мышь стала стандартным периферийным устройством. Именно поэтому разъем для подключения мыши на задней напели системного блока называется "PS/2-портом".
13 Игра "SPACEWAR" никак не была связана с игрой Кена Томпсона "Space Travel", кроме того, что обе они привлекали поклонников научно-технической фантастики.