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.12  ·  Rating details ·  1,883 ratings  ·  45 reviews
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.
Paperback, 288 pages
Published February 4th 1999 by Addison-Wesley
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
Average rating 4.12  · 
Rating details
 ·  1,883 ratings  ·  45 reviews

More filters
Sort order
Start your review of The Practice of Programming (Addison-Wesley Professional Computing Series)
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
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
Will Semin
Nov 05, 2019 rated it it was amazing
If you are a programmer, you must read it! It is full of good EXAMPLES of how to write better code and design things right.
Dmitriy Shilin
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
Victor Gaydov
Jun 16, 2020 rated it it was amazing

* Gives some good, mostly well known, advice on programming. From somewhat very low-level, like "break up complex expressions", to higher-level, like "detect errors at a low level, handle them at a high level" and even organizational, like "think before typing when debugging".

* Gives a few bright and not so widely adopted ideas. The chapter on testing taught me something new (e.g. the comparison and probabilistic testing approaches). The chapters on portability and notation have made me ret
Apr 27, 2020 rated it really liked it  ·  review of another edition
An artifact of its time, the book was written when programming seriously mostly meant programming in C and sometimes some other languages. No wonder this book should have been better named 'The Practice of Programming in C, C++, sometimes Java and occasionally Awk and Perl'. Even though a big part of the text is highly irrelevant to any non-C programmer now(who are in plenty nowadays), there are a lot of great ideas in this book, many of which put start to the tendencies taken as granted in the ...more
Senthil Kumaran
Oct 28, 2012 rated it it was amazing
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." ...more
Jul 28, 2022 rated it it was amazing  ·  review of another edition
This style-first practitioners guide still stands up 23 years later. In the preface, the authors ask us to consider some questions related to the difficult, tedious, or annoying scenarios that programmers find themselves in when writing code (i.e., the "not fun" parts). Over the years, I have found these to be refreshing, powerful, and effective rhetorical devices in my ongoing efforts to motivate second-semester programming students to adopt a style-first approach to their, often hack-centered, ...more
Sep 08, 2019 rated it really liked it
Good read for novice programmers. The book introduces the reader to a range of important topics ranging from algorithms and data structures to debugging and performance. It contains numerous code examples and exercises to help students learn. The exercises are particularly useful.

The examples are unfortunately outdated. When the book was written, Java was brand new, as were the C++ STL and '//'-comments (wait, these have not always existed?). People that start learning programming today are more
Pablo Weremczuk
Mar 13, 2022 rated it really liked it
Old book with lots of good insights about how to become a better developer.
There is a part about testing, where told you stuff like where is more probable that a function will fail. Or another chapter that implements a regular expression parser.

This is a good book if you bought books that you never read, because at the end of the book there is a list with all the rules that builds a strategy to create good software.

The book is from the 90's, but it's content is still relevant.
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.
Dec 26, 2019 rated it it was amazing
Shelves: programming
While some of the material is a bit dated most of the concepts are still applicable and helpful as a reference, the supplementary readings point you down the rabbit hole for most of the topics that they cover or talk about.
Kyla Squires
One to keep around for periodic reminders of key principles that affect day to day programming.
Frank Naitan
Sep 09, 2019 rated it it was amazing
One of the most interesting software books I read.
Feb 19, 2020 rated it liked it
Shelves: real-book
Still applies, twenty years later. Good advice here, though some examples sound dated.
Idir Yacine
Dec 08, 2021 rated it it was ok
Shelves: software
Sadly the book didn't age well if it's your first book on the craft or as a beginner it's still worth it otherwise you are better off skipping it. ...more
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. ...more
Dec 26, 2020 rated it liked it
Jan 2021: While reading TPoP I discovered "Writing Solid Code" (https://www.goodreads.com/book/show/5...). Both books cover writing professional quality code in C, but they are quite different.

TPoP claims it'll teach you how to write good (C) code. What it actually does is teach you how to write C code that's good by Unix standards. That's not to say it's a bad book. The advice on debugging is good, and the whole book is a manifesto for aggressive simplicity, which is important, especially these
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 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. ...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
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.
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.
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. ...more
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. ...more
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)
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. ...more
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.
« previous 1 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Code Complete
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • The Pragmatic Programmer: From Journeyman to Master
  • Programming Pearls
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Expert C Programming: Deep C Secrets
  • The C++ Programming Language
  • Invicto: Logra más, sufre menos
  • Computer Systems: A Programmer's Perspective
  • Cracking the Coding Interview: 150 Programming Questions and Solutions
  • Coders at Work: Reflections on the Craft of Programming
  • Algorithms
  • Refactoring: Improving the Design of Existing Code
  • The Art of Computer Programming, Volume 1: Fundamental Algorithms
  • Building Microservices: Designing Fine-Grained Systems
  • Advanced Programming in the UNIX Environment
  • Mastering Regular Expressions
  • Head First Design Patterns
See similar books…

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.

News & Interviews

Heads up, history nerds!   Historical fiction remains one of the busiest and most popular genres in the book business. It can be tricky just to...
28 likes · 6 comments