The Unix Programming Environment

The Unix Programming Environment

The Unix Programming Environment is a textbook written by Brian W. Kernighan and Rob Pike, both of Bell Labs. It is considered an important and early book on the Unix operating system. Often considered "the Bible", it is considered the most authoritative work on Unix. It was first published in 1984 by Prentice Hall.

The book starts off with an introduction to Unix for beginners. Next, it goes into the basics of the file system and shell. The reader is led through topics ranging from the use of filters, to how to use C for programming robust Unix applications, and the basics of grep, sed, make, and awk. The book closes with a tutorial on making a programming language parser with yacc and how to use troff with ms and mm to format documents, the preprocessors tbl, eqn, and pic, and making man pages with the man macro set. The appendices cover the ed editor and the abovementioned programming language, named hoc, which stands for "high-order calculator")

The book is perhaps most valuable for its exposition of the Unix philosophy of small cooperating tools with standardized inputs and outputs, a philosophy that also shaped the end-to-end philosophy of the Internet. It is this philosophy, and the architecture based on it, that has allowed open source projects to be assembled into larger systems such as Linux, without explicit coordination between developers.

The only issue is that the book was written before ANSI C was first drafted, therefore the programs in the book are nonstandard and follow K&R style. However, the source code to hoc available on the book's website has been updated for ANSI C conformance (but uses the implicit int rule, which is disallowed in C99).

ISBN 0-13-937681-X (paperback), 0-13-937699-2 (hardback).

External links

* [http://cm.bell-labs.com/cm/cs/upe/ Homepage at Bell Labs]
* [http://www.iu.hio.no/~mark/unix/unix_toc.html An On-line book sharing the same name] , retrieved 10 January 2008.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Unix philosophy — The Unix philosophy is a set of cultural norms and philosophical approaches to developing software based on the experience of leading developers of the Unix operating system.McIlroy: A Quarter Century of UnixDoug McIlroy, the inventor of Unix… …   Wikipedia

  • Unix-Philosophie — Die Unix Philosophie ist eine Menge von Regeln und Herangehensweisen bei der Software Entwicklung, die auf den Erfahrungen der führenden Unix Programmierer basieren. Inhaltsverzeichnis 1 McIlroy: A Quarter Century of Unix 2 Pike: Notes on… …   Deutsch Wikipedia

  • Criticism of the APL programming language — The APL programming language has been used since the mid 1960s on mainframe computers and has itself evolved in step with computers and the computing market. APL is not widely used, but minimalistic and high level by design, at several points in… …   Wikipedia

  • UNIX way — Философия UNIX  это набор культурных норм и философских подходов к разработке программного обеспечения, основанных на опыте ведущих разработчиков операционной системы Содержание 1 МакИлрой: Четверть века UNIX 2 Пайк: Стиль программирования на C …   Википедия

  • Unix way — Философия UNIX  это набор культурных норм и философских подходов к разработке программного обеспечения, основанных на опыте ведущих разработчиков операционной системы Содержание 1 МакИлрой: Четверть века UNIX 2 Пайк: Стиль программирования на C …   Википедия

  • Unix — (officially trademarked as UNIX, sometimes also written as Unix with small caps) is a computer operating system originally developed in 1969 by a group of AT T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Douglas McIlroy, and… …   Wikipedia

  • Operating environment — The operating environment in engineering describes the circumstances surrounding and potentially affecting something that is operating. For example electronic or mechanical equipment may be affected by high temperatures, vibration, dust, and… …   Wikipedia

  • Environment variable — Environment variables are a set of dynamic named values that can affect the way running processes will behave on a computer. They can be said in some sense to create the operating environment in which a process runs. For example, an environment… …   Wikipedia

  • Hoc (programming language) — hoc, an acronym for High Order Calculator, is an interpreted programming language that was used in the 1984 book The Unix Programming Environment to demonstrate how to build interpreters using Yacc.Hoc was developed by Brian Kernighan and Rob… …   Wikipedia

  • Философия UNIX — Философия UNIX  это набор культурных норм и философских подходов к разработке программного обеспечения, основанных на опыте ведущих разработчиков операционной системы UNIX. Содержание 1 МакИлрой: Четверть века UNIX 2 Майк Ганцарз: Философия… …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”