Rob Pike
Author of The Practice of Programming
About the Author
Image credit: Rob Pike at Guadec 2001 in Copenhagen, Denmark.
Works by Rob Pike
Plan 9 From Bell Labs — Author — 2 copies
8½, the Plan 9 Window System 1 copy
The Text Editor sam 1 copy
Plumbing and Other Utilities 1 copy
Tagged
Common Knowledge
Members
Reviews
The book describes itself as a practical guide to general programming in the real world, but for the most part, doesn't deliver on that promise for a number of reasons.
First, the book should have been called The Practice of Programming in C and C . The intro chapters say Java, Perl, and others would be discussed, but I'd estimate the C languages make up 90% of the examples and advice. The long discussions of memory management, pointers, and portability do not apply to any of the other show more languages, or most modern languages in general.
Second, the preface says the book will teach things not covered in school, but the second chapter is a quick, incomplete, and not very rigorous intro to data structures and algorithms straight out of cs 101.
Third, the discussion on coding style is handled much better in other books, such as Code Complete and Clean Code. In fact, I'm not a fan of some of the recommended coding conventions. For example, the book advocates the use of short, abbreviated, and/or single letter variable names in many cases, which made even their short example code hard to read. Also, many of the functions in the code examples were quite long and in need of refactoring.
Fourth, as is often the case with tech content, the book has not aged well. The interface, performance, and portability chapters feel out of date. The fact that functional programming principles (and languages) are missing means this is, at best, a practical guide to purely imperative programming.
Overall: only worth a read for C coders, though a more up to date book would be better. show less
First, the book should have been called The Practice of Programming in C and C . The intro chapters say Java, Perl, and others would be discussed, but I'd estimate the C languages make up 90% of the examples and advice. The long discussions of memory management, pointers, and portability do not apply to any of the other show more languages, or most modern languages in general.
Second, the preface says the book will teach things not covered in school, but the second chapter is a quick, incomplete, and not very rigorous intro to data structures and algorithms straight out of cs 101.
Third, the discussion on coding style is handled much better in other books, such as Code Complete and Clean Code. In fact, I'm not a fan of some of the recommended coding conventions. For example, the book advocates the use of short, abbreviated, and/or single letter variable names in many cases, which made even their short example code hard to read. Also, many of the functions in the code examples were quite long and in need of refactoring.
Fourth, as is often the case with tech content, the book has not aged well. The interface, performance, and portability chapters feel out of date. The fact that functional programming principles (and languages) are missing means this is, at best, a practical guide to purely imperative programming.
Overall: only worth a read for C coders, though a more up to date book would be better. show less
This is one of the best technical books I've ever read. In a strange way it's still the best introduction to Linux, even though there are many outdated details. After all, _all_ technical are full of outdated details -- but it's the rare book indeed that can rise above implementation and express an entire philosophy of development concisely and readably.
This book, copyright 1984, is not one's typical software read. Typical books on software deal with the latest and greatest that's coming down the pike. Instead, this book is a reminder of what is great in the UNIX operating system. It harkens back to the days when assembly coding was common and programming in C was considered more cutting edge.
So why is this worth a programmer's time to read over thirty years later in an era of object-orientation and machine-learning? The answer to this show more question is not vexing; indeed, it is simple. Great ideas transformed into great inventions deserve great study.
This book's epilog sums up this advice in describing four elements of UNIX's style:
1. "Let the machine do the work."
2. "Let other people do the work. Use programs that already exist as building blocks in your programs..."
3. "Do the job in stages. Build the simplest thing that will be useful, and let your experience with that determine what (if anything) is worth doing next."
4. "Build tools. Write programs that mesh with the existing environment, enhancing it rather than merely adding to it." show less
So why is this worth a programmer's time to read over thirty years later in an era of object-orientation and machine-learning? The answer to this show more question is not vexing; indeed, it is simple. Great ideas transformed into great inventions deserve great study.
This book's epilog sums up this advice in describing four elements of UNIX's style:
1. "Let the machine do the work."
2. "Let other people do the work. Use programs that already exist as building blocks in your programs..."
3. "Do the job in stages. Build the simplest thing that will be useful, and let your experience with that determine what (if anything) is worth doing next."
4. "Build tools. Write programs that mesh with the existing environment, enhancing it rather than merely adding to it." show less
Wonderful book and extremely good advice on programming practice. I realized that this book is not be read in one sitting or in a month. This book is to be taken up for half-a-year to a year of dedicated study and requires solving the problems presented like technical book. So this fits in all the characteristic of a technical book with with problem given at the end of section for the student to attempt. But where the book differs from many of the technical books is, one one teaches style, show more design and aesthetics of the programming, leading the programmer to appreciate well written programs and encouraging them to practice good programming style. The value is immeasurable. I recommend this to any programmer friend who cares about this craft. show less
Lists
You May Also Like
Associated Authors
Statistics
- Works
- 14
- Members
- 1,649
- Popularity
- #15,578
- Rating
- 4.2
- Reviews
- 18
- ISBNs
- 25
- Languages
- 9


