Введение

Книга Брайана Кернигана "Окружение программирования Unix", впервые опубликованная в 1984 году издательством Prentice Hall, написана Брайаном В. Керниганом и Робом Пайком, сотрудниками Bell Labs, и считается важным и одним из первых трудов, посвященных операционной системе Unix.

Философия Unix

В книге рассматривается философия Unix, основанная на небольших взаимодействующих инструментах со стандартизированными входами и выходами. Керниган и Пайк дают краткое описание дизайна Unix и философии Unix:

Несмотря на то, что система UNIX представляет ряд инновационных программ и техник, ни одна программа или идея сама по себе не обеспечивает её эффективную работу. Вместо этого, эффективность достигается благодаря подходу к программированию, философии использования компьютера. Хотя эту философию сложно сформулировать одним предложением, в её основе лежит идея о том, что мощь системы заключается скорее во взаимосвязях между программами, чем в самих программах. Многие программы UNIX по отдельности выполняют довольно простые задачи, но, комбинируясь с другими программами, превращаются в универсальные и полезные инструменты. Авторы далее пишут, что целью этой книги является "донести философию программирования UNIX".

Содержание и темы

Книга начинается с введения в Unix для начинающих. Затем рассматриваются основы файловой системы и командной оболочки. Читателя знакомят с темами, начиная с использования фильтров и заканчивая применением языка C для разработки надежных Unix-приложений, а также с основами grep, sed, make и AWK. Книга завершается руководством по созданию парсера языка программирования с помощью yacc и использованию troff с ms и mm для форматирования документов, предпроцессоров tbl, eqn и pic, а также созданию страниц руководства (man pages) с использованием макропакета man. В приложениях описывается редактор ed и вышеупомянутый язык программирования hoc, расшифровывающийся как "high order calculator" (калькулятор высшего порядка).

Исторический контекст

Хотя Unix все еще существует десятилетия спустя после публикации этой книги, в книге описывается уже зрелый Unix: к 1984 году Unix разрабатывался в течение 15 лет (с 1969 года), он был опубликован в рецензируемом журнале за 10 лет до этого (SOSP, 1974, "The UNIX Timesharing System"), и было выпущено как минимум семь официальных изданий его руководств (см. Unix Версии 7). К 1984 году уже существовало несколько коммерческих и академических вариантов UNIX (например, Xenix, SunOS, BSD, UNIX System V, HP UX), а годом ранее Деннис Ричи и Кен Томпсон получили престижную премию Тьюринга за их работу над UNIX. Книга была написана не в период становления UNIX, а когда он уже достиг достаточной популярности, чтобы заслужить публикацию книги для широкой аудитории новых пользователей. Оглядываясь назад, можно сказать, что 1984 год не только не был ранней стадией эволюции Unix, но в некотором смысле стал ее завершением, по крайней мере в Bell Labs: основные варианты UNIX уже отделились от Research Unix компании AT&T ранее: System V была опубликована в 1983 году, BSD базировалась на Seventh Edition Unix 1979 года, а большинство коммерческих вариантов Unix основывались на System V, BSD или их комбинации. Eighth Edition Unix вышла сразу после публикации этой книги, а дальнейшая разработка UNIX в Bell Labs (девятое и десятое издания) так и не вышла за пределы лабораторий – пока их усилия не привели к созданию Plan 9 from Bell Labs.

Стиль программирования на C

Книга была написана до того, как был впервые составлен проект стандарта ANSI C; программы в ней написаны в более старом стиле K&R. Однако исходный код, доступный на сайте книги, был обновлен для соответствия стандарту ANSI C.

Критический прием

Технический редактор Бен Эверад из Linux Voice высоко оценил книгу за предоставление актуальной документации, несмотря на её 30-летний возраст, и за то, что она станет хорошим пособием для начинающего программиста, мало знакомого с Linux.