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.10  ·  Rating details ·  1,709 ratings  ·  38 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 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
4.10  · 
Rating details
 ·  1,709 ratings  ·  38 reviews

More filters
Sort order
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
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
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
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.
Борис Кучин
Oct 25, 2018 rated it it was ok
Shelves: computers
Книжка у меня на полке лежала, по-моему, с первого курса. Я решил, что она уже достаточно вылежалась. Поэтому читал бумажную книгу на русском. В очередной раз убедился, что и бумажные книги читать неудобно, и на русском техническую литературу тоже лучше пропускать.

Сама книга относится к книгам с общими советами по программированию. И я не понимаю, на кого такие книги ориентированы. Опытные разрабочики всё это либо уже знают, либо про это читали где-то ещё. Новички вряд ли много поймут, потому чт
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.
Kyla Squires
One to keep around for periodic reminders of key principles that affect day to day programming.
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)
Masa Nishimura
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.
« 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 »

Readers also enjoyed

  • The Art of UNIX Programming
  • Advanced Programming in the UNIX Environment
  • Programming Pearls
  • C: A Reference Manual
  • ANSI Common Lisp
  • Writing Solid Code
  • Beautiful Code: Leading Programmers Explain How They Think
  • The Little Schemer
  • The Implementation (TCP/IP Illustrated, Volume 2)
  • Software Craftsmanship: The New Imperative
  • Hacker's Delight
  • Masterminds of Programming: Conversations with the Creators of Major Programming Languages
  • Paradigms of Artificial Intelligence Programming: Case Studies in Common LISP
  • Facts and Fallacies of Software Engineering
  • Mastering Regular Expressions
  • Compilers: Principles, Techniques, and Tools
  • How to Design Programs: An Introduction to Programming and Computing
  • Object-Oriented Software Construction (Book/CD-ROM)
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.

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