The Practice of Programming, Paperback Book

The Practice of Programming Paperback

3.5 out of 5 (2 ratings)


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




Free Home Delivery

on all orders

Pick up orders

from local bookshops


Showing 1 - 2 of 2 reviews.

Review by

An excellent book on engineering better software. Some of the tips need taking with a pinch of salt, but as a professional, I don't have to tell you that, right? Remember, as Fred Brooks said, "There are no silver bullets".Recommended reading for embedded programmers, as I have been in the game 20 years and I got plenty from this slim little book.

Review by

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. <br/><br/>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. <br/><br/>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. <br/><br/>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. <br/><br/>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. <br/><br/>Overall: only worth a read for C coders, though a more up to date book would be better.