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

Programming Pearls

4.23  ·  Rating Details ·  2,259 Ratings  ·  62 Reviews
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)
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 Programming Pearls, please sign up.

Be the first to ask a question about Programming Pearls

Community Reviews

(showing 1-30)
filter  |  sort: default (?)  |  Rating Details
Jul 10, 2008 Mike rated it really liked it
Shelves: development
So much of what passes for revelation becomes obsolete. What was originally mistaken for truth turns out to be mere utility; the moment passes and we are left at best with a corroded praxis, an inept relic to clutter the museum of our fancy. Contrary to many of its genre, this book has endured because it reminds us of the fundamental challenge of software development: identifying the problem, translating it to mathematically sound abstraction, and then choosing the most apt solution. The second ...more
Sage LaTorra
Aug 15, 2012 Sage LaTorra rated it it was amazing
With the exception of some painfully out of date examples, this book is probably the best practical programming/algorithms book I've read.

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
Rafal Szymanski
Nov 22, 2013 Rafal Szymanski rated it really liked it
A good selection of interesting algorithms explained without the terseness that some other books can get into. I felt it is a bit antiquated with all the algorithms written in low level C. I'm not sure that some of the optimizations the author is proposing (manual loop unrolling, moving assignment out of a loop, etc) are still relevant due to the advances in compilers that can do such optimizations automatically while leaving the source code untainted by 'optimizations'. Nevertheless, there is a ...more
Jul 26, 2008 Gregory rated it it was amazing
_Programming Pearls_ is a gem. The "pearls" are short essays on a particular topic of programming, grouped together by theme: algorithms, data structures, correctness, implementation, performance, code tuning, etc. The essays are concise and focused, with plenty of code examples. Some of the topics may strike today's programmer as quaintly academic exercies. ("Surely nobody writes Quick Sort anymore!") But the lessons that Bentley extracts from them are always valuable.

The second edition has bee
Ondrej Sykora
Jan 04, 2012 Ondrej Sykora rated it it was amazing
Unlike most other books on programming, this one focuses on fundamental and generic problems, not the easy things, toy problems or technical things.

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
Krishna Kumar
May 04, 2015 Krishna Kumar rated it liked it
A good look at some ways to write efficient code. It discusses various algorithms and techniques that can increase performance or reduce memory requirements. One of the problems with the book is that, being an older book, some of the content is less relevant today. You can get most of the algorithms as part of any programming language library, though the book does provide you the information to understand the trade-offs. A better font for the book and C++-style examples (at least for me) would a ...more
Dec 04, 2015 Kelly rated it it was amazing
Shelves: read-in-2015
Super helpful to review data structures, algorithms and problem solving.
Antony Thomas
Jan 05, 2013 Antony Thomas rated it it was amazing
AFter reading this book, you would start to think in terms bit and bytes.
Apr 08, 2015 Fatima rated it it was amazing
Shelves: computer-science
Indeed Programming Pearls!

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
Mayank Jaiswal
Feb 17, 2017 Mayank Jaiswal rated it it was amazing
Must read book.
I have written a summary for the book:
Graziano Misuraca
Nov 17, 2016 Graziano Misuraca rated it really liked it
Murray Cumming
Dec 09, 2016 Murray Cumming rated it liked it
Shelves: tech
I'm fond of this. Jon Bentley has been part of the formative years of software development and computer science. He has gained wisdom and does a good job of passing it on.

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
Rohit Vaidya
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
Sep 12, 2015 Prakash rated it really liked it
Shelves: comp-sci
A little outdated, but still gold.

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
Ryan Chibana
Oct 26, 2015 Ryan Chibana rated it liked it
I read the online version of the book, which is more limited than the full edition apparently. Still, I thought it was really beginner-level stuff that might as well be bypassed in favor of reading something heavier on algorithms like CLRS or more in-depth on problem-solving like Cracking the Coding Interview. If the full version of the book is better, that's unfortunate that I missed out on it. I didn't really understand it's classic status from reading the version that I did, though; I've seen ...more
Alessandro Bahgat
...and this book certainly deserves a place among them.

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.

Feb 08, 2016 Woolstar rated it it was amazing
Shelves: classics
When I cleared out a couple decades of software books on my shelf in preparation for tighter quarters, this is one of the few that made the cut. While its perhaps outdated these days to worry about the best fit for a problem to the tightest solution possible, there are places where space (embedded), speed (games), or power consumption (server farms); still reward elegant solutions to difficult problems. This is a book about thinking about these things.
Mar 01, 2016 Vicki rated it really liked it
Really good overview into the history of software design patterns. Includes a lot of stuff that is seen today as "hot" (i.e. mapreduce), but that has been around for a long time as a sensible way to write software. Really clinched for me the central problem in computer science, the time-space tradeoff.
Alex Allain
Dec 23, 2008 Alex Allain rated it it was amazing
This is a book about reasoning about programs and designing algorithms. There are some powerful ideas in this little book, despite its age.

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
Dec 14, 2014 Ashish rated it it was amazing
Very good read, although owing to the large amounts of literature out there on algorithm and programming, one might be acquainted with the tips and tricks that author has shared in the book. Still the book presents a way of thinking on how to go about programming stuff somewhat in the same fashion as how to solve it by polya.
Adarsh J
Dec 22, 2015 Adarsh J rated it it was amazing
Recommends it for: computer science graduates
The author uses a conversational style of writing and develops a simple problem and proposes a simple solution and over the chapters we see how different aspects of programming culminate into a splendid solution. The incremental nature makes this book a very good read for preparation of interviews in programming jobs.
Nov 19, 2012 Carlos rated it it was amazing
This book will never get old. It was my favorite book in college on my software engineering major. Thanks to this book i start to love engineering and programming. I certainly recommend this book to all freshmen in computer science and engineering, you will get a grasp of what programming is and why you will love it.
Mar 20, 2012 Turner rated it really liked it
A good book which has many good principles (testing thoroughly, program verification, attacking the correct problem, carefully choosing your data structures, etc.) and easy to read. However, it is showing it's age quite badly in places.
Oct 12, 2013 Angelo rated it it was amazing
The word 'pearls' is very correctly placed in the title of this book. The book consists of 'exercises' that will stretch your software engineering mind, and will only show you how much you have to learn to become a really great programmer..
Graham Lee
Feb 12, 2015 Graham Lee rated it it was amazing
The principles are universally applicable, the specific algorithmic insights entertaining, and the examples clear if terse. It can be summarised as: know your problem; think about your problem; know your solution; show that the solution addresses the problem.
Jul 06, 2011 Darin rated it really liked it
I actually read the first edition of this book and therefore this review is about it. The point of this book is to teach people how to think about programs, in particular to make them more efficient. I think this is a good book for helping people to understand what programming is all about.
May 19, 2016 zikhan rated it it was amazing
Finished the book while preparing for programming interviews. Great delivery of valuable advice in practical use of algorithms. Will recommend it to anyone interested in programming at the cost of being obnoxious.
Dane Henshall
Aug 26, 2013 Dane Henshall rated it really liked it
Some nice use cases to think about and read. I am not sure if reading this book made me a better person, but it is a good refresher on some of the basic principles of programming.
Dec 27, 2007 Brian rated it really liked it
An excellent description and review of algorithms and data structures with a variety of practical and interview-like questions and problems.
Michael Brown
Oct 25, 2009 Michael Brown rated it really liked it
A great book that can help any working programmer think a bit differently about their craft and can help any young programmer write better programs!
« 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 »
  • The Practice of Programming (Addison-Wesley Professional Computing Series)
  • Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)
  • The Little Schemer
  • Hacker's Delight
  • A Discipline of Programming
  • Elements of Programming
  • Compilers: Principles, Techniques, and Tools
  • Rapid Development: Taming Wild Software Schedules
  • Types and Programming Languages
  • The Algorithm Design Manual
  • Purely Functional Data Structures
  • Advanced Programming in the UNIX Environment
  • On Lisp: Advanced Techniques for Common Lisp
  • Beautiful Code: Leading Programmers Explain How They Think
  • Working Effectively with Legacy Code
  • The Art of UNIX Programming
  • Real World Haskell: Code You Can Believe In
  • Refactoring: Improving the Design of Existing Code

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »

Share This Book