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.20  ·  Rating details ·  2,978 ratings  ·  77 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
Average rating 4.20  · 
Rating details
 ·  2,978 ratings  ·  77 reviews

More filters
Sort order
Start your review of Programming Pearls
Jul 10, 2008 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 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
Apr 08, 2015 rated it it was amazing
Shelves: software
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
Rafal Szymanski
Nov 22, 2013 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
Yevgeniy Brikman
Jul 19, 2014 rated it really liked it
There should be more programming books like this. It's like an algorithms and data structures text book, but written in such a way that it's actually pleasant to read. The writing is great, the examples are clear, and the book challenges you to solve things incrementally rather than giving you the answer right away.

With most other professions, novices spend a lot of time studying the work of those who came before them: e.g. physicists read physics papers, artists imitate master artists, histori
Jul 26, 2008 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 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
May 19, 2016 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.
Duncan McKinnon
Oct 20, 2019 rated it it was amazing
Great way to push yourself, with some good narrative context (i.e. not just a bunch of lifeless problems to solve).
Krishna Kumar
May 04, 2015 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
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.

Dec 23, 2012 rated it really liked it
I'm going to complete all of the exercises in this book one day, at which point I will probably no longer be able to carry on conversation with humans.
Antony Thomas
Jan 05, 2013 rated it it was amazing
AFter reading this book, you would start to think in terms bit and bytes.
Dec 04, 2015 rated it it was amazing
Shelves: read-in-2015
Super helpful to review data structures, algorithms and problem solving.
Ramu Vairavan
Aug 19, 2018 rated it really liked it
An interesting blast from the past. I think the big principles outlined in this book still apply today, but the examples are outdated. I read the first edition, not sure about the second. The principles are nicely summarised at the end of each chapter, following which some practice problems are provided. The author uses so many different languages it gets a little confusing at times though. So, what I took away from this book was not the technicalities, but rather key ideas that make one a bette ...more
Madhura Parikh
Jun 13, 2017 rated it it was amazing
I really like the way this book presents everything as a story. It has a bit of an old-world charm to it, given that a lot of war stories are from bell-labs and so on, and in a time where programming languages weren't as advanced as today. But the way it approaches algorithm design is timeless and inspiring. Also a perfectly sized book to read on commutes.
Josh Houghtelin
I skimmed quite a bit of this. It's not the first time I read the book but I like to reference it from time to time to remind myself to think deeper than the package I'm using implement a solution for any given problem. I feel like this book would be especially good for folks that write searching and sorting functions a lot. ^_^
Priyanka Puri
Mar 01, 2017 rated it really liked it
this book is probably the best algorithmic book I have ever read.
Mar 18, 2017 rated it it was amazing
Shelves: technical-books
A must read although it is a bit old.
Oct 22, 2017 rated it it was amazing
Shelves: cs
Lots of good stories about famous coders stuffed with interesting problems which I'll try to solve when I re-read it.
Apr 18, 2018 rated it liked it
A bit outdated
Vishwanath Gulabal
Oct 07, 2018 rated it it was amazing
Jon L. Bentley is king.
Feb 14, 2019 rated it really liked it
First two chapters were great prep for interviews.
Aug 31, 2019 rated it really liked it
A tough read, but I think worth it. Looking forward to backing this one up with similar works in the future.
Sep 02, 2019 rated it it was ok
I'm sure it's good, but I had a hard time getting anything out of it. I picked up a few "pearls" here and there, but overall it was hard to get through.
May 21, 2020 rated it it was amazing
The book was elegantly written that also helped me create a habit of pursuing elegant solutions not only in programming but other aspects of life as well.
Feb 25, 2017 rated it really liked it
Shelves: real-book
Lots of fun for programmers, and even though it's not necessarily very a la mode wrt current fashions, there's a lot of fabulous stuff in here.
Murray Cumming
Dec 09, 2016 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
Mayank Jaiswal
Feb 17, 2017 rated it it was amazing
Must read book.
I have written a summary for the book:
Rohit Vaidya
Jun 29, 2014 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
« previous 1 3 next »

Readers also enjoyed

  • Code Complete
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Introduction to Algorithms
  • The Algorithm Design Manual
  • Refactoring: Improving the Design of Existing Code
  • Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)
  • The Practice of Programming (Addison-Wesley Professional Computing Series)
  • The Pragmatic Programmer: From Journeyman to Master
  • Working Effectively with Legacy Code
  • Hackers & Painters: Big Ideas from the Computer Age
  • The Mythical Man-Month: Essays on Software Engineering
  • The C++ Programming Language
  • Effective C++: 55 Specific Ways to Improve Your Programs and Designs
  • Peopleware: Productive Projects and Teams
  • Cracking the Coding Interview: 150 Programming Questions and Solutions
  • The Little Schemer
  • The C Programming Language
  • Clean Code: A Handbook of Agile Software Craftsmanship
See similar books…

Goodreads is hiring!

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

News & Interviews

There are many ways to take action against racism. Reading in order to learn more about oppression and how to oppose it is just one of those ways...
82 likes · 36 comments
“The purpose of software engineering is to control complexity, not to create it.” 1 likes
“time is dear and the” 0 likes
More quotes…