«Среда программирования Unix» , впервые опубликованная в 1984 году издательством Prentice Hall , — книга, написанная Брайаном У. Керниганом и Робом Пайком из Bell Labs , которая считается важным и ранним документом по операционной системе Unix .
Книга рассматривает философию Unix небольших взаимодействующих инструментов со стандартизированными входами и выходами. Керниган и Пайк дают краткое описание дизайна и философии Unix: [1]
Несмотря на то, что система UNIX представляет ряд инновационных программ и методов, ни одна программа или идея не делает ее хорошо работающей. Вместо этого, то, что делает ее эффективной, — это подход к программированию, философия использования компьютера. Хотя эту философию нельзя записать в одном предложении, в ее основе лежит идея о том, что мощь системы исходит больше от взаимоотношений между программами, чем от самих программ. Многие программы UNIX делают довольно тривиальные вещи в изоляции, но в сочетании с другими программами становятся общими и полезными инструментами.
Авторы далее пишут, что их цель в этой книге — «донести философию программирования UNIX». [1]
Книга начинается с введения в Unix для начинающих. Затем она переходит к основам файловой системы и оболочки . Читатель знакомится с темами, начиная от использования фильтров и заканчивая темами использования C для программирования надежных приложений Unix, а также основами grep , sed , make и AWK . Книга завершается руководством по созданию анализатора языка программирования с помощью yacc и использованию troff с ms и mm для форматирования документов, препроцессорами tbl , eqn и pic , а также созданием страниц man с помощью набора макросов man. В приложениях рассматриваются редактор ed и вышеупомянутый язык программирования, называемый hoc , что означает «high-order calculator».
Хотя Unix все еще существует десятилетия после публикации этой книги, книга описывает уже зрелый Unix: в 1984 году Unix уже находился в разработке в течение 15 лет (с 1969 года), он был опубликован в рецензируемом журнале 10 годами ранее ( SOSP , 1974, "The UNIX Timesharing System"), и было опубликовано по крайней мере семь официальных изданий его руководств (см. Version 7 Unix ). В 1984 году уже существовало несколько коммерческих и академических вариантов UNIX (например, Xenix , SunOS , BSD , UNIX System V , HP-UX ), а годом ранее Деннис Ритчи и Кен Томпсон выиграли престижную премию Тьюринга за свою работу над UNIX. Книга была написана не тогда, когда UNIX только начинал развиваться, а когда он уже был достаточно популярен, чтобы быть достойным книги, опубликованной для масс новых пользователей, которые приходили.
Оглядываясь назад, можно сказать, что 1984 год не только не был ранней стадией эволюции Unix, в некоторых отношениях это был конец эволюции Unix, по крайней мере в Bell Labs : важные варианты UNIX уже ответвились от Research Unix компании AT&T ранее: System V была опубликована в 1983 году, BSD была основана на седьмом издании Unix 1979 года , а большинство коммерческих вариантов Unix были основаны на System V, BSD или некоторой комбинации обоих. Восьмое издание Unix вышло сразу после этой книги, и дальнейшее развитие UNIX в Bell Labs (девятое и десятое издания) так и не вышло за пределы Bell Labs, пока их усилия не переросли в Plan 9 от Bell Labs .
Книга была написана до того, как был впервые составлен черновик ANSI C ; программы в ней следуют старому стилю K&R . Однако исходный код, доступный на веб-сайте книги, был обновлен для соответствия ANSI C.
Технический редактор Бен Эверард из Linux Voice похвалил книгу за предоставление актуальной документации, несмотря на то, что ей уже 30 лет, и за то, что это хорошая книга для начинающего программиста, который не так много знает о Linux . [2]