Goodreads helps you keep track of books you want to read.
Start by marking “The Practice of Programming” as Want to Read:
The Practice of Programming
Enlarge cover
Rate this book
Clear rating
Open Preview

The Practice of Programming

4.1 of 5 stars 4.10  ·  rating details  ·  813 ratings  ·  27 reviews
Coauthored by Brian Kernighan, one of the pioneers of the C programming language, The Practice of Programming is a manual of good programming style that will help any C/C++ or Java developer create faster, more maintainable code.

Early sections look at some of the pitfalls of C/C++, with numerous real-world excerpts of confusing or incorrect code. The authors offer many ti

...more
Paperback, 288 pages
Published February 4th 1999 by Addison-Wesley Professional (first published 1999)
more details... edit details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about The Practice of Programming, please sign up.

Be the first to ask a question about The Practice of Programming

The  C Programming Language by Brian W. KernighanThe Pragmatic Programmer by Andrew HuntDesign Patterns by Erich GammaRefactoring by Martin FowlerStructure and Interpretation of Computer Programs by Harold Abelson
Essential Programming Books
24th out of 108 books — 236 voters
Structure and Interpretation of Computer Programs by Harold AbelsonCode Complete by Steve McConnellIntroduction to Algorithms by Thomas H. CormenHacker's Delight by Henry S. Warren Jr.Design Patterns by Erich Gamma
Best programming books
7th out of 29 books — 16 voters


More lists with this book...

Community Reviews

(showing 1-30 of 2,048)
filter  |  sort: default (?)  |  rating details
Steve Losh
Overall: a decent introduction to some of the lessons you'll learn after a few years in the trenches of real programming.

If you're fresh out of college and starting your first programming gig, read this book carefully. A lot of what it says may sound like common sense, but often people don't take it to heart. It will save you pain down the road. Kernighan and Pike know what you're talking about and you'd be wise to listen to them.

If you're already an experienced programmer there's probably not a...more
Kyle The Hacker
Keeping the standard of The C Programming Language, this book is a no-frills guide to writing exceptional software. While aimed at C, C++, and Java developers, the topics are relevant to those working in other languages.
Yevgeniy Brikman
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 language...more
Mike
Concise and well-written, this book lays out several guidelines and methods that will improve how one writes programs. C, C++, and Java are the dominant languages throughout, but the authors don't play favorites. For them, computer languages are but different notations for solving problems, hence the problem at hand should recommend the notation. In the 'Design and Implementation' chapter the same program (a Markov chain algorithm) is resolved into C, C++, Java, Awk, and Perl code, using typical...more
Max Galkin
I had a mixed impression, the book seems to be a set of loosely related chapters, more like a collection of various experiences of authors ranging from some very narrow hardware-specific topics to very broad high-level abstract advices. Can't really recommend the book to beginners, as many of them will probably never face the specific problems mentioned in some chapters and the composition of the book makes it hard to learn any aspect of programming as a whole, but neither is this book tailored...more
Brian
I am generally skeptical when it comes to programming books, and particularly those from different decades, but I trusted the name "Brian Kernighan" so I checked the book out. ... All in all, I approve of this book and may even someday require it as a textbook for students.

(excerpted from My Blog)
Senthil Kumaran
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, desig...more
Dave
Some interesting material, but overall more suited to people at the start of their careers, and very focused on low-level concerns that are relevant for C and C++. Actually, my overriding impression during the book was "look at all this effort to avoid dumb errors in low-level programming languages; I need to never use C again."
Nick Black
I've still got this book from TA'ing CS 2430 back when I was 18...it's alright, but this kind of book has been done better numerous times. See Code Complete, The Pragmatic Programmer: From Journeyman to Master and The Art of UNIX Programming for everything in this book plus much more.
David
I really like this book, which bears some semblance in style to Bentley's Programming Pearls. Or maybe it would be more accurate to say that Kernighan and Pike has the same straightforward readability that Kernighan and Ritchie has. Covers aspects of style, debugging and testing, design "in the small", portability, and the pleasure of a good notation. The last chapter (on notation) is my favorite: in the course of about 25 pages, they give a description of, and illustrative code for: a formattin...more
Erika RS
A vaguely amusing bunch of stuff I knew already. The chapters and debugging and testing were probably healthy to read though.
Luke
Bit dry, good information
Karl Geiger
Along with The Mythical Man-Month and Programming Pearls a must-read for practitioner serious about computer programming.
Isscandar
È 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.
Vladimir
One of those books that you start appreciating a few weeks after reading when they surprisingly turn out useful in your daily work. Some parts were pretty boring though: I think I've read five or six other books while struggling through the C code in chapters 3 and 4. But the second part turned out to be fun and insightful.
Iulian
I had high hopes for this book, but I was disappointed. It's a good read for a student, but it doesn't go in any depth in the interesting areas (error handling, for example). Half of the book is dedicated to C/C++ specific issues, and how Java solved that. I enjoyed a bit more the chapter about testing and debugging.
David
If you already know how to program well, this book will round out all your rough edges. It is kinda like a finishing school for programmers. The Regex program in the final chapter is a real gem too. Also, it effectively compares several of the compiled and scripted languages in well thought out examples.
Daniel
It is 3.5 stars, anyway. Indeed a great book but a little bit outdated. It has very good references and recommended stuff to learn/investigate more at the end of each chapter. A must for a programming books library.
Bob Hancock
Concise and well written. After K&R, this is the book I would tell programmers to read first. It gives you insight in to Rob Pike's thinking and you understand many of the decisions made in the design of Go.
Anton Daneyko
I can recommend it. Short and dense. I remember I liked that they implemented the same program in different languages and compared the implementations in terms of readability, LOC, and speed.
Daniel Bryan
Excellently written - Pike and Kernighan make a good team - but some of the language examples have dated.
Steven Shaw
Practical design and programming guide for C programmers and introduction to "little languages".
Dave Peticolas

A nice little book about software engineering and design.

Jesse Storimer
A good collection of insights from a couple of great programmers.
Scott
went through the exercises for a software engineering class.
Eduardo
This book is a must read for every serious programmer.
Andres Moreira
Amazing book. Highly recommended!
« previous 1 3 4 5 6 7 8 9 68 69 next »
There are no discussion topics on this book yet. Be the first to start one »
  • Programming Pearls
  • The Art of Unix Programming
  • Advanced Programming in the Unix (R) Environment
  • The Little Schemer
  • Hacker's Delight
  • Beautiful Code: Leading Programmers Explain How They Think
  • ANSI Common Lisp
  • Purely Functional Data Structures
  • Paradigms of Artificial Intelligence Programming: Case Studies in Common LISP
  • Mastering Regular Expressions
  • Masterminds of Programming: Conversations with the Creators of Major Programming Languages
  • Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)
  • Compilers: Principles, Techniques, and Tools
  • Writing Solid Code
  • Art of Computer Programming, Volume 1: Fundamental Algorithms
  • The Algorithm Design Manual
  • Refactoring: Improving the Design of Existing Code
  • How to Design Programs: An Introduction to Programming and Computing

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
Brian Wilson Kernighan is a computer scientist who worked at Bell Labs alongside Unix creators Ken Thompson and Dennis Ritchie and contributed greatly to Unix and its school of thought.
More about Brian W. Kernighan...
The  C Programming Language  The Unix Programming Environment The Elements of Programming Style Software Tools D Is for Digital: What a Well-Informed Person Should Know about Computers and Communications

Share This Book