Product Details
Unix Programming Environment (Prentice-Hall Software Series)

Unix Programming Environment (Prentice-Hall Software Series)
By Brian W. Kernighan, Rob Pike

List Price: $60.00
Price: $40.50 & eligible for FREE Super Saver Shipping on orders over $25. Details

Availability: Usually ships in 24 hours
Ships from and sold by Amazon.com

68 new or used available from $4.96

Average customer review:

Product Description

Most of the book is devoted to discussions of individual tools, but throughout run the themes of combining programs and of using programs to build programs--emphasizing how they fit in the environment.


Product Details

  • Amazon Sales Rank: #266897 in Books
  • Published on: 1984-03
  • Original language: English
  • Number of items: 1
  • Binding: Paperback
  • 357 pages

Features


Editorial Reviews

From the Publisher
Designed for first-time and experienced users, this book describes the UNIX®programming environment and philosophy in detail. Readers will gain an understanding not only of how to use the system, its components, and the programs, but also how these fit into the total environment.

From the Back Cover
Designed for first-time and experienced users, this book describes the UNIX® programming environment and philosophy in detail.Readers will gain an understanding not only of how to use the system, its components, and the programs, but also how these fit into the total environment.


Customer Reviews

How to think programmatically5
How is it that a book from 1984 based on a legacy Unix system, describing some tools that no one would now use, can still not only be in print but actually recommended?

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.

The perfect book for the beginning Unix programmer5
Elsewhere on Amazon I reviewed Kernighan's "Elements of Programming Style." To quote one paragraph from that review -

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.

Briefly covered in a final chapter are some of the document preparation tools based on troff - the macro packages ms, mm and of course the man package used for Unix man pages along with tbl and eqn for tables and mathematical equations respectively.

In totality it provides an excellent grounding in writing good, workable software for Unix. The writing is clear and concise, the volume well laid out, the examples are in the main useful, though a few rely on multiple users of the one machine, not as common now that Linux and Sun have made a Unix computer more of a desktop machine than a minicomputer.

This is a classic book and I would recommend it to all starting out Unix programming, regardless of your experience with other operating systems. Ignore it's age, computer books are rarely this good and almost never this timeless.

The UNIX Book5
Albeit this book was published in 1984 and when I started learning UNIX some ten years later, many of minor details were already a bit out-of-date, I believe that it will still be a marvel for those who work on modern UNIX/Linux systems, since the details are ever changing, the commands may differ from system to system, but the philosophy behind the UNIX technology stays the same, and this is what this book is all about. Written in a great style, resembling to that of another Kernighan's famous book "C programming language", compact and clear, this book is a true classic, one of (unfortunately) very few examples of long living technical books in our rapidly changing world. In short, it's highly recommended for those of fledging programmers or sysadmins who feel that UNIX is too cumbersome and messy to understand; it suits well for beginners and intermediates, who want to feel at UNIX as at home. And don't be scared with some out-of-date details: they are really minor... view them as UNIX history ;-)