Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your email address or mobile phone number.
The Unix Programming Environment (Prentice-Hall Software Series) Paperback – November 11, 1983
Top 20 lists in Books
View the top 20 best sellers of all time, the most reviewed books of all time and some of our editors' favorite picks. Learn more
Frequently Bought Together
Customers Who Bought This Item Also Bought
From the Publisher
From the Back Cover
More About the AuthorsDiscover books, learn about writers, read author blogs, and more.
Top Customer Reviews
In introducing you to the Unix system, from simple shell commands, to shell scripts, to awk and sed programming, and to Unix applications programming, not to mention the best introduction to lex and yacc, the authors develop real applications and teach you how to THINK in Unix terms: develop small components that fit and interact with each other to build larger and larger and more complex applications.
But it's more than just thinking in Unix terms: it's how to structure and approach programs and scripts no matter what environment you are in.
Stevenson's _Advanced Programming In the Unix Environment_ is an excellent book for coverage. I have it too. But _The Unix Programming Environment_ is a book for developing your software mentality in a way that no other book that I've read even approaches.
After 20 years as a Unix programmer, including kernel development of several Unix operating systems, this book still remains on my shelf.
Brian Kernighan has co-authored three books almost essential to learning our craft, this volume, "Software Tools" and "The Unix Programming Environment". "Elements of Programming Style" spells out the fundamental rules, "Software Tools" shows you how to apply them to a number of simple projects and extends the rules to software design and finally "The Unix Programming Environment" shows you how to use them in an operating system designed to reward you for your effort.
This volume starts with a short, excellent preface detailing some of the early history of Unix and explaining the structure of the book and the philosophy behind it . The preface states "Our goal in this book is to communicate the UNIX programming philosophy ... throughout runs the themes of combining programs and of using programs to build programs." It delivers on that goal.
The book then follows with a series of chapters that start with basic shell commands and then pipes before branching out into shell programming and going on to explore useful Unix tools such as grep, sed, awk, C, the standard libraries, make, yacc and lex through a series of small useful programs culminating in a small calculator language called `hoc' - a useful calculator and easily extensible.
While most might feel that grep, sed, awk and shell programming have been replaced by tools such as Perl and Python these early chapters provide a good grounding in Unix programming and remind newer users of the power and usefulness of these simple Unix tools.Read more ›
Unix programming environment might sound a rather ambitious title nowadays, when a tutorial on each specialized tool can easily exceed 400 pages. However, this one actually delivers everything that it promises. Kernighan and Pike start with the basic description of Unix file system and the basic set of commands, continue with the command shell, redirection and piping. Next come the filters: regular expressions, grep, sort, sed and awk. At that point, the reader is ready for the full-fledged treatment of the command shell programming. Next come standard I/O and Unix system calls, followed by the program development tools: make, lex and yacc. The course is concluded with a chapter on document formatting with troff.
The chapters on I/O and system calls imply familiarity with the C programming language. The already mentioned tutorial on C by Kernighan and Ritchie, written in much the same style and spirit, can serve as the introduction to it. Also, while the book keeps up with its age remarkably well, there are some points where the described Unix system differs from the modern POSIX systems (most user commands are however backward compatible and still accept the old syntax). The required changes are really minor, but can nevertheles annoy an innocent reader.
The book belongs to nowadays rare breed of books on computers written for engineers and CS students rather than for dummies and idiots.Read more ›
Most Recent Customer Reviews
Used it for a class and the teacher was more than likely going to switch it since we used in minimally.Published 1 month ago by ryan hawkins
Great introduction to UNIX, and includes a basic tutorial on YACC in the back to demonstrate how one develops in a UNIX environment. Definitely not datedPublished 3 months ago by collin oswalt
In the fast moving computer industry, it is surprising that this old book still have relevant information for Unix. Read more
This is an interesting read. While obviously not a book to learn UNIX, it absolutely is the book you would expect getting a feel for the original creation of UNIX itself and the... Read morePublished 7 months ago by Patrick S Malloy
This was a gift for another. They are a very big fan of Brian Kernighan and find the content to be excellent and a surprisingly pleasant read.Published 14 months ago by B
This book is ancient, but a classic and surprisingly still relevant for those who want to learn the zen of unix.Published 14 months ago by Orlando A. Andico
This book is a classic for any computer scientist. I bought it for a class in grad school, but I still use it every once in a while.Published 14 months ago by Chris Crowley