fbpx
Wikipedia

The Unix Programming Environment

The Unix Programming Environment, first published in 1984 by Prentice Hall, is a book written by Brian W. Kernighan and Rob Pike, both of Bell Labs and considered an important and early document of the Unix operating system.

The Unix Programming Environment
Front cover of The Unix Programming Environment
AuthorBrian W. Kernighan and Rob Pike
LanguageEnglish
SubjectComputer programming
PublisherPrentice Hall
Publication date
1984
ISBN0-13-937681-X

Unix philosophy edit

The book addresses the Unix philosophy of small cooperating tools with standardized inputs and outputs. Kernighan and Pike gives a brief description of the Unix design and the Unix philosophy:[1]

Even though the UNIX system introduces a number of innovative programs and techniques, no single program or idea makes it work well. Instead, what makes it effective is the approach to programming, a philosophy of using the computer. Although that philosophy can't be written down in a single sentence, at its heart is the idea that the power of a system comes more from the relationships among programs than from the programs themselves. Many UNIX programs do quite trivial things in isolation, but, combined with other programs, become general and useful tools.

The authors further write that their goal for this book is "to communicate the UNIX programming philosophy."[1]

Content and topics edit

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".

Historical context edit

Although Unix still exists decades after the publication of this book, the book describes an already mature Unix: In 1984, Unix had already been in development for 15 years (since 1969), it had been published in a peer-reviewed journal 10 years earlier (SOSP, 1974, "The UNIX Timesharing System"), and at least seven official editions of its manuals had been published (see Version 7 Unix). In 1984, several commercial and academic variants of UNIX already existed (e.g., Xenix, SunOS, BSD, UNIX System V, HP-UX), and a year earlier Dennis Ritchie and Ken Thompson won the prestigious Turing Award for their work on UNIX. The book was written not when UNIX was just starting out, but when it was already popular enough to be worthy of a book published for the masses of new users that were coming in.

In retrospect, not only was 1984 not an early stage of Unix's evolution, in some respects it was the end of Unix evolution, at least in Bell Labs: The important UNIX variants had already forked from AT&T's Research Unix earlier: System V was published in 1983, BSD was based on the 1979 Seventh Edition Unix – and most commercial Unix variants were based on System V, BSD, or some combination of both. Eighth Edition Unix came out right after this book, and further development of UNIX in Bell Labs (the Ninth and Tenth Edition) never made it outside Bell Labs – until their effort evolved into Plan 9 from Bell Labs.

C programming style edit

The book was written before ANSI C was first drafted; the programs in it follow the older K&R style. However, the source code available on the book's website has been updated for ANSI C conformance.

Critical reception edit

Technical editor Ben Everard for Linux Voice praised the book for providing relevant documentation despite being 30 years old and for being a good book for an aspiring programmer who does not know much about Linux.[2]

Editions edit

Notes edit

  1. ^ a b Kernighan, Brian W.; Pike, Rob (1984). The UNIX Programming Environment. p. viii.
  2. ^ "Linux Voice – Issue 6" (PDF). Linux Voice : The Blog and Podcast for a Very Different Kind of Linux Magazine. Linux Voice. September 2014. p. 52. ISSN 2054-3778.

unix, programming, environment, this, article, relies, excessively, references, primary, sources, please, improve, this, article, adding, secondary, tertiary, sources, find, sources, news, newspapers, books, scholar, jstor, april, 2014, learn, when, remove, th. This article relies excessively on references to primary sources Please improve this article by adding secondary or tertiary sources Find sources The Unix Programming Environment news newspapers books scholar JSTOR April 2014 Learn how and when to remove this template message The Unix Programming Environment first published in 1984 by Prentice Hall is a book written by Brian W Kernighan and Rob Pike both of Bell Labs and considered an important and early document of the Unix operating system The Unix Programming EnvironmentFront cover of The Unix Programming EnvironmentAuthorBrian W Kernighan and Rob PikeLanguageEnglishSubjectComputer programmingPublisherPrentice HallPublication date1984ISBN0 13 937681 X Contents 1 Unix philosophy 2 Content and topics 3 Historical context 4 C programming style 5 Critical reception 6 Editions 7 NotesUnix philosophy editThe book addresses the Unix philosophy of small cooperating tools with standardized inputs and outputs Kernighan and Pike gives a brief description of the Unix design and the Unix philosophy 1 Even though the UNIX system introduces a number of innovative programs and techniques no single program or idea makes it work well Instead what makes it effective is the approach to programming a philosophy of using the computer Although that philosophy can t be written down in a single sentence at its heart is the idea that the power of a system comes more from the relationships among programs than from the programs themselves Many UNIX programs do quite trivial things in isolation but combined with other programs become general and useful tools The authors further write that their goal for this book is to communicate the UNIX programming philosophy 1 Content and topics editThe 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 Historical context editAlthough Unix still exists decades after the publication of this book the book describes an already mature Unix In 1984 Unix had already been in development for 15 years since 1969 it had been published in a peer reviewed journal 10 years earlier SOSP 1974 The UNIX Timesharing System and at least seven official editions of its manuals had been published see Version 7 Unix In 1984 several commercial and academic variants of UNIX already existed e g Xenix SunOS BSD UNIX System V HP UX and a year earlier Dennis Ritchie and Ken Thompson won the prestigious Turing Award for their work on UNIX The book was written not when UNIX was just starting out but when it was already popular enough to be worthy of a book published for the masses of new users that were coming in In retrospect not only was 1984 not an early stage of Unix s evolution in some respects it was the end of Unix evolution at least in Bell Labs The important UNIX variants had already forked from AT amp T s Research Unix earlier System V was published in 1983 BSD was based on the 1979 Seventh Edition Unix and most commercial Unix variants were based on System V BSD or some combination of both Eighth Edition Unix came out right after this book and further development of UNIX in Bell Labs the Ninth and Tenth Edition never made it outside Bell Labs until their effort evolved into Plan 9 from Bell Labs C programming style editThe book was written before ANSI C was first drafted the programs in it follow the older K amp R style However the source code available on the book s website has been updated for ANSI C conformance Critical reception editTechnical editor Ben Everard for Linux Voice praised the book for providing relevant documentation despite being 30 years old and for being a good book for an aspiring programmer who does not know much about Linux 2 Editions editISBN 0 13 937681 X paperback ISBN 0 13 937699 2 hardback Notes edit a b Kernighan Brian W Pike Rob 1984 The UNIX Programming Environment p viii Linux Voice Issue 6 PDF Linux Voice The Blog and Podcast for a Very Different Kind of Linux Magazine Linux Voice September 2014 p 52 ISSN 2054 3778 Retrieved from https en wikipedia org w index php title The Unix Programming Environment amp oldid 1180491478, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.