Читаем Искусство программирования для Unix полностью

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

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

<p>Г</p><p>Корни без корней: Unix-коаны Мастера Фу</p><p>Предисловие редактора</p>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Перейти на страницу:

Все книги серии Программирование для профессионалов

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных