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 ·  3,077 ratings  ·  83 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 September 27th 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.
Popular Answered Questions
Simon sure--though u might have to read through some unfamiliar terms--you'll be able to follow most of it i bet. but if starting from absolutely zero knowl…moresure--though u might have to read through some unfamiliar terms--you'll be able to follow most of it i bet. but if starting from absolutely zero knowledge, no. (less)

Community Reviews

Showing 1-30
Average rating 4.20  · 
Rating details
 ·  3,077 ratings  ·  83 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
Apr 08, 2015 rated it it was amazing
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
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
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.
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. ...more
Anthony Bruno
Feb 02, 2021 rated it liked it
Shelves: technical
Programming Pearls is basically a collection of tips, tricks and solutions to interesting algorithmic problems. Each chapter, called 'columns' in the book, has a specific theme with a dive into a couple of challenges and how to solve them. Often, solutions are 'built up' over the course of the column, with a less efficient solution shown first, then with some adjustments, a more efficient technique is shown.

There is a section of 'principles' at the end of each column. These are fantastic points
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).
Ralph N
Jul 11, 2020 rated it it was amazing
A classic that I will have no qualms about recommending to bootcamp grads and interviewees refreshing for algorithms.
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.

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
John Doe
Oct 27, 2020 rated it really liked it
Shelves: cs
It's not exactly an algorithm book.
It's not an introductory book either.
It's like a mechanical book on classical algorithms from very low level programming point of view.
It goes into details of how to build basic data structures with c code and c++ template, therefore, this book obviously needs basic c knowledge, but anyone who have already code in c most likely have read other algorithm textbooks, and almost certainly have already known all the stuff this book presented, that's awkward, isn't i
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. ...more
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. ^_^ ...more
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. ...more
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. ...more
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.
Ari Fordsham
Dec 16, 2020 rated it it was amazing
« previous 1 3 next »

Readers also enjoyed

  • Code Complete
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • The Algorithm Design Manual
  • Introduction to Algorithms
  • Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)
  • Refactoring: Improving the Design of Existing Code
  • The Practice of Programming (Addison-Wesley Professional Computing Series)
  • The Mythical Man-Month: Essays on Software Engineering
  • The Pragmatic Programmer: From Journeyman to Master
  • Cracking the Coding Interview: 150 Programming Questions and Solutions
  • The Little Schemer
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Working Effectively with Legacy Code
  • A Philosophy of Software Design
  • Designing Data-Intensive Applications
  • Domain-Driven Design: Tackling Complexity in the Heart of Software
  • The Art of Computer Programming, Volume 1: Fundamental Algorithms
  • 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 »

News & Interviews

If you've got an overflowing Want to Read shelf of books that you keep meaning to get to (one day!), you're in good company. Our company, that...
119 likes · 41 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…