The Practice of Programming
by Brian W. Kernighan (Author), Rob Pike (Author)
On This Page
Description
With the same insight and authority that made their book The Unix Programming Environment a classic, Brian Kernighan and Rob Pike have written The Practice of Programming to help make individual programmers more effective and productive. The practice of programming is more than just writing code. Programmers must also assess tradeoffs, choose among design alternatives, debug and test, improve performance, and maintain software written by themselves and others. At the same time, they must be show more concerned with issues like compatibility, robustness, and reliability, while meeting specifications. The Practice of Programming covers all these topics, and more. This book is full of practical advice and real-world examples in C, C++, Java, and a variety of special-purpose languages. It includes chapters on: debugging: finding bugs quickly and methodically testing: guaranteeing that software works correctly and reliably performance: making programs faster and more compact portability: ensuring that programs run everywhere without change design: balancing goals and constraints to decide which algorithms and data structures are best interfaces: using abstraction and information hiding to control the interactions between components style: writing code that works well and is a pleasure to read notation: choosing languages and tools that let the machine do more of the work Kernighan and Pike have distilled years of experience writing programs, teaching, and working with other programmers to create this book. Anyone who writes software will profit from the principles and guidance in The Practice of Programming . show lessTags
Recommendations
Member 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 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. show more
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 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. show more
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
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, 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.
A vaguely amusing bunch of stuff I knew already. The chapters and debugging and testing were probably healthy to read though.
È un capolavoro.
Si tratta di un distillato sublime, decine di anni di programmazione di alto livello (gli autori, Kernighan e Pike fanno parte della storia della computer science) condensate in poco più di duecento pagine.
In questo libro nulla è superfluo.
È un capolavoro.
Si tratta di un distillato sublime, decine di anni di programmazione di alto livello (gli autori, Kernighan e Pike fanno parte della storia della computer science) condensate in poco più di duecento pagine.
In questo libro nulla è superfluo.
È un capolavoro.
Practical design and programming guide for C programmers and introduction to "little languages".
Members
- Recently Added By
Author Information
Series
Belongs to Publisher Series
Common Knowledge
- Canonical title
- The Practice of Programming
- Original publication date
- 1999
- Disambiguation notice
- Combiners: see http://cm.bell-labs.com/cm/cs/tpop/in... for a list of titles of translations. (Why don't anchor tags work here? - jimrob... (show all)erts)
Classifications
- Genres
- Technology, Nonfiction, General Nonfiction
- DDC/MDS
- 005.1 — Computer science, information & general works Computer science, knowledge & systems Artificial Intelligence/Virtual Reality Software development
- LCC
- QA76.6 .K48 — Science Mathematics Mathematics Instruments and machines Calculating machines Electronic computers. Computer science
- BISAC
Statistics
- Members
- 920
- Popularity
- 29,055
- Reviews
- 7
- Rating
- (4.21)
- Languages
- 9 — English, Finnish, French, German, Italian, Japanese, Korean, Russian, Spanish
- Media
- Paper, Ebook
- ISBNs
- 14
- UPCs
- 1
- ASINs
- 1



























































