Добавить в цитаты Настройки чтения

Страница 172 из 179



Майк Леек (Mike Lesk) входил в состав первоначальной команды разработчиков Unix в Bell Labs. Среди прочего его вкладом является пакет макросов ms, инструменты для обработки текстов tb( 1) и refer( 1), генератор лексических анализаторов 1ех(1) и программа UUCP (программа копирования из Unix в Unix).

Дуг Макилрой (Doug Mcllroy) возглавлял исследовательскую группу Bell Labs, где возникла Unix, и создал Unix-канал (pipe). Он написал такие утилиты, как spell(1), diff( 1), sort(1),join(1), tr(1), и другие классические инструменты Unix, а также способствовал определению стиля документации Unix. Он также проводил исследования по алгоритмам распределения памяти и компьютерной безопасности.

Маршал Кирк Маккьюзик (Marshall Kirk McKusick) реализовал быструю файловую систему 4.2BSD и был специалистом по компьютерным исследованиям в группе CSRG (Computer Systems Research Group — Исследовательская группа по компьютерным системам) в Беркли, следя за разработкой и выпуском версий 4.3BSD и 4.4BSD.

Кит Паккард (Keith Packard) внес главный вклад в создание первоначального кода XII. Во время начавшейся в 1999 году второй фазы разработки, Кит переписал код визуализации в X, создав более мощную и значительно более компактную реализацию, подходящую для портативных компьютеров и PDA.

Эрик — С. Реймонд (Eric S. Raymond) с 1982 года создает программное обеспечение для Unix. В 1991 году он исправил "The New Hacker's Dictionary" (Новый словарь хакера), и с тех пор изучает Unix-сообщество и культуру Internet-хакеров, с исторической и антропологической точки зрения. В 1997 году как результат этих исследований появилась книга "The Cathedral and the Bazaar", которая помогла (пере)определить и оптимизировать движение открытого исходного кода. Он лично курирует более 30 программных проектов и около 10 ключевых FAQ-документов.

Генри Спенсер (Henry Spencer) был лидером первой волны программистов, принявших Unix (средина 1970-х годов). Его вклад: свободно-распространяемая библиотека getops(3), первая библиотека с открытым исходным кодом для обработки строк, модуль с открытым исходным кодом для обработки регулярных выражений, который нашел свое применение в 4.4BSD и как исходная точка стандарта POSIX. Кроме того, Спенсер — известный эксперт в области языка С, он является соавтором журнала С News. В течение многих лет он считается лидером в Usenet и одним из наиболее уважаемых представителей сообщества.

Кен Томпсон (Ken Thompson) — создатель Unix.

Г Корни без корней: Unix-коаны Мастера Фу

Предисловие редактора

Открытие коллекции коанов, известных как "Корни без корней" (Rootless Root), вызвало ожесточенные споры в ученых кругах. Проливают ли эти аутентичные документы новый свет на методы преподавания патриархов Unix? Или это просто искусная стилизация, подразумевающая среди прочего и авторитет таких полумифических фигур, как патриархи Томпсон, Ритчи и Макилрой, для доктрин, которые эволюционировали ближе к нашему времени?

Ответить определенно на этот вопрос невозможно. Все участники дискуссии якобы имеют отношение к этой освященной веками классике ('The Tao of Programming") [6]. Но "Корни без корней" резко отличаются по тону и стилю от свободных поэтических анекдотов в переводе Джеймса (James), сконцентрированных на загадочной и замечательной личности Мастера Фу.

Было бы более уместно искать параллели в А1-коанах [7] (AI Koans)-, действительно, есть определенные признаки того, что автор трактата "Корни без корней", возможно, редактировал некоторые версии "AI Koans". Также будет небезосновательиым поиск связей с "Loginataka"; действительно, вполне возможно, что неизвестные авторы "Al Koans" и "Loginataka" на самом деле являются одним и тем же лицом, возможно, учеником самого Мастера Фу.

Следует также упомянуть и о "Сказках Дзэн-мастера Грега" (Tales of Zen Master Greg), хотя существуют определенные сомнения в их древности, и поэтому маловероятно, что они повлияли на "Корни без корней".

Можно с достаточной уверенностью сказать, что название этой работы является ссылкой на Дзэн-классику "Врата без врат" (Gateless Gatef Мумона (Mumon). Эти отголоски чувствуются в нескольких коанах.

Возник серьезный спор о том, к какой из школ, выросших из раннего эпохального путешествия патриарха Томпсона в Беркли, следует причислить Мастера Фу — к Восточной (Нью-Джерси) или к Западной. Если этот вопрос до сих пор не разрешен, то, вероятно, именно потому, что мы не можем даже точно установить — а существовал ли вообще Мастер Фу? Под этим именем может скрываться просто группа учителей или все последователи Дхармы.

Даже если предположить, что легенда о Мастере Фу сформировалась вокруг учения какой-то одной личности, как быть с его любимым учеником Ньюби (Nubi)? У Ньюби есть все признаки типичного образцового ученика. Вспоминаются легенды о любимом последователе Будды Ананде (Ananda). Представляется вероятным, что существовал исторический Ананда, однако никакие следы его реальной личности не пережили эфемерный процесс, который отполировал личность Будды и превратил его в вечный миф.



В конечном итоге все, что мы можем, — это принять эти поучительные истории и извлечь те зерна мудрости, которые в них содержатся.

Мастер Фу и десять тысяч строк

Однажды Мастер Фу сказал заезжему программисту: "В одной строке кода shell-сценария больше духа Unix, чем в десяти тысячах строк на языке С!"

Программист, гордый своими познаниями в С, ответил: "Может ли быть такое? Ведь С — язык, в котором реализовано само ядро Unix!"

На это Мастер Фу ответил: "Это так. Тем не менее, в одной строке shell-сценария больше духа Unix, чем в десяти тысячах строк С!"

Программист выглядел удрученным. "Но ведь через язык С мы познаем просвещенность патриарха Ритчи! Мы уподобляемся человеку с операционной системой и компьютером, который получает непревзойденную производительность!"

Мастер Фу сказал: "То, что ты говоришь, правда. Однако в одной строке shell-сценария больше духа Unix, чем в десяти тысячах строк С".

Программист усмехнулся и поднялся, чтобы удалиться. Но Мастер Фу кивнул своему ученику Ньюби, который писал строку shell-кода на стоящей рядом белой доске, и сказал: "Господин программист, посмотрите на этот конвейер! Не заняла бы его реализация на С десять тысяч строк?"

Просматривая то, что писал Ньюби, программист что-то бормотал в бороду. В конце концов, он согласился, что это так.

"И сколько часов потребовалось бы вам для реализации и отладки этой программы на языке С?"

"Много", — признал заезжий программист. "Но только безумец стал бы тратить столько времени, когда его ждет множество более достойных задач".

"Так кто лучше понимает дух Unix?" — спросил Мастер Фу. "Тот, кто пишет десять тысяч строк, или тот, кто, сознавая тщетность этих усилий, извлекает пользу, не программируя?"

Услышав это, программист достиг просветления.

Мастер Фу и Скрипт Кидди

Незнакомец из страны Вут пришел к Мастеру Фу во время его утренней трапезы.

"Я не раз слышал о вашем величии, — сказал он. — Пожалуйста, научите меня всему, что знаете".