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

The Practice of Programming (Addison-Wesley Professional Computing Series)

4.1  ·  Rating details ·  1,501 Ratings  ·  36 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

Paperback, 288 pages
Published February 14th 1999 by Addison-Wesley (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

Community Reviews

(showing 1-30)
filter  |  sort: default (?)  |  Rating Details
Steve Losh
Jan 01, 2014 rated it liked it
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
Yevgeniy Brikman
Jul 17, 2014 rated it it was ok
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
Dmitriy Shil
Dec 29, 2016 rated it liked it
Shelves: hack
It's really important to have some expectation before reading this book.

Experienced developers may think that this book is useless for them, because of:
- outdated information
- a lot of C code
- obvious ideas

But I highly recommend them to reread the following chapters:
- Chapter 1 is about style
- Chapter 5 is about debugging that is really important as for experienced developers and newbies.
- Chapter 7 describes different approaches related to performance of your apps.

If you are newbie in a softwar
Senthil Kumaran
Oct 28, 2012 rated it it was amazing
Shelves: computer-science
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
Aug 23, 2014 rated it liked it
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."
Kyle The Hacker
Apr 16, 2013 rated it it was amazing
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.
Federico Saravia
Jul 16, 2017 rated it it was amazing
This is a book that every programmer should read many times during their career. I wish I would have read this book many years before as many of the teachings here I learned them with the experience but nevertheless I found it super instructive and will definitely read it again a couple more times.
Mar 21, 2017 rated it really liked it
I enjoyed this book very much. From time to time it could be a bit too detailed and technical, but overall it's full of sound and useful advises.
Dec 29, 2008 rated it really liked it
Shelves: development
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
Jul 09, 2012 rated it really liked it
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
Nick Black
Nov 23, 2008 rated it liked it
I've still got this book from TA'ing CS 2430 back when I was'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.
Mar 24, 2008 rated it it was amazing
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
Aug 28, 2013 rated it it was amazing
Shelves: owned, lavoro
È 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.
Max Lybbert
Jun 16, 2009 rated it it was amazing
This is a very quick read, and something of a classic. There is some dated information -- discussion about immature C++ compilers or early Java compilers, for instance -- but much of the book is timeless. I would love to live in a world where most professional programmers were familiar with this book and, by extension, the AT&T view of programming.
Sep 14, 2008 rated it really liked it
Shelves: books-for-me
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.
Mar 05, 2011 rated it liked it
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.
Jun 28, 2011 rated it really liked it
Shelves: swe
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.
Jul 14, 2014 rated it it was amazing
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)
May 05, 2016 rated it liked it
Shelves: programming
I think there's a time bias that there's many linting tools now that many of his principles already apply. Probably at the time of publishing which is more than 2 decades ago, it was worth a lot more.
Fernando Soteras
Jan 07, 2017 rated it really liked it
In the age of digital books , this is a great book to own in good old paper. With time probably your copy might be populated with written comments and annotations. A real classic from one of Unix's creators.
Karl Geiger
Dec 30, 2013 rated it it was amazing
Along with The Mythical Man-Month and Programming Pearls a must-read for practitioner serious about computer programming.
Aug 27, 2011 rated it liked it
Shelves: computer-science
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
Jul 05, 2010 rated it it was amazing
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.
Erika RS
A vaguely amusing bunch of stuff I knew already. The chapters and debugging and testing were probably healthy to read though.
Raza Ali
Jul 25, 2015 rated it really liked it
Shelves: programming
solid book on best practices in programming. It should be mandatory reading before anyone is allowed to touch a line of code.
Steven Shaw
Sep 25, 2010 rated it liked it
Practical design and programming guide for C programmers and introduction to "little languages".
Feb 01, 2008 rated it it was amazing
This book is a must read for every serious programmer.
Jesse Storimer
Jul 23, 2013 rated it really liked it
A good collection of insights from a couple of great programmers.
Aug 05, 2007 rated it really liked it
went through the exercises for a software engineering class.
Feb 25, 2014 rated it really liked it
Bit dry, good information
« previous 1 3 4 5 6 7 8 9 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 Environment
  • Hacker's Delight
  • Beautiful Code: Leading Programmers Explain How They Think
  • C: A Reference Manual
  • ANSI Common Lisp
  • Software Craftsmanship: The New Imperative
  • The Little Schemer
  • How to Design Programs: An Introduction to Programming and Computing
  • Mastering Regular Expressions
  • Writing Solid Code
  • Paradigms of Artificial Intelligence Programming: Case Studies in Common LISP
  • Masterminds of Programming: Conversations with the Creators of Major Programming Languages
  • The Implementation (TCP/IP Illustrated, Volume 2)
  • A Discipline of Programming
  • Object-Oriented Software Construction (Book/CD-ROM)
  • The Art of Computer Programming, Volume 1: Fundamental Algorithms

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

Other Books in the Series

Addison-Wesley Professional Computing Series (4 books)
  • The Go Programming Language
  • TCP/IP Illustrated, Vol. 2: The Implementation (Addison-Wesley Professional Computing Series)
  • Mathematical Foundations of Computer Networking (Addison-Wesley Professional Computing Series)

Share This Book