152 books
—
166 voters

Goodreads helps you keep track of books you want to read.

Start by marking “Programming Pearls” as Want to Read:

# Programming Pearls

The first edition of Programming Pearls was one of the most influential books I read early in my career, and many of the insights I first encountered in that book stayed with me long after I read it. Jon has done a wonderful job of updating the material. I am very impressed at how fresh the new examples seem. - Steve McConnell When programmers list their favorite books, Jo
...more

Paperback, Second Edition, 239 pages

Published
October 7th 1999
by Addison-Wesley Professional
(first published 1986)

## Friend Reviews

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

## Reader Q&A

To ask other readers questions about
Programming Pearls,
please sign up.

Be the first to ask a question about Programming Pearls

## Community Reviews

(showing 1-30)

The examples aren't untrue, they're just not intuitive to a modern reader. It's nothing that ruins the book, but examples have things that seem slightly silly today like "big" computers with just a meg or two of memory available. Or the practice problem that asks you how you send an image from one place to another. (I first took that to mean I needed to implem ...more

The second edition has bee ...more

The book teaches through a thorough discussion of solutions of several problems coming from several domains (algorithms, data structures, probability theory, ...). Some of the things - binary search being the most obvious example - look easy, but the sad truth is that many people can't write a correct implementation, not even speaking about effectivi ...more

Short Summary

Part I: Preliminaries

Column 1: Cracking The Oyster (defining the problem correctly)

Principles: Defining the right problem is critical Problem: How do I sort a large file?

The programmer wanted to sort a large file with limited memory but the critical piece of information was that the numbers are in a specific range (7 digits only) and so the solution was to use a bit vector.

Column 2: AHA! Algorithms (designing the algorithm for the problem)

Principles: Sorti ...more

Must read book.

I have written a summary for the book:

https://github.com/msjaiswal/book-not...

I have written a summary for the book:

https://github.com/msjaiswal/book-not...

Unfortunately, this book, even after the second edition, is already rather outdated again. Far too much of the performance discussion is irrelevant now that we have optimizing compilers. For instance, C and C++ coders shouldn't spend their time today unrolling loops or doing shifts instead of divisions by powers of 2. For perfo ...more

Jun 29, 2014
Rohit Vaidya
marked it as to-read

This is not just yet another programming book with cook book solutions. Its a nice collection of essays published by the author in ACM. However the ones included in the book are corrected after errors discovered in originally published essays in ACM.

The book describes problems in an interesting story telling format and then progresses towards finding solution to a problem. This is not as intense as Knuth where you will find rigorous Mathematical proofs for proving bounds on algorithms. The lang ...more

The book describes problems in an interesting story telling format and then progresses towards finding solution to a problem. This is not as intense as Knuth where you will find rigorous Mathematical proofs for proving bounds on algorithms. The lang ...more

Most of the time, the author has discussed practical problems which were complex to start with and how easily they were solved (with 20-50 lines of code representing the main idea).

The book is fun to read and comprises of columns (read chapters). Although some columns are not as good as others. I had to gallop my way through the book due to various reasons, but it would be wise to heed author's advice to do 1 column per sitting. I intend to revisit this book, fo ...more

Targeted to experienced programmers, Programming Pearls reminds how important it is to think hard before approaching **any** problem, and to strive for elegance and efficiency.

Even years after its publication date, this book is full of insightful advice about programming as an art.

It is the best proof that programming languages may become obsolete, but good ideas never get old.

This book is best read in the following way:

1. Solve each problem that makes up the main story of the chapter before finishing the chapter

2. Do at least some of the exercises at the end of each chapter

There are no discussion topics on this book yet.
Be the first to start one »

Jul 12, 2008 07:28AM