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.22  ·  Rating Details  ·  1,859 Ratings  ·  54 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

Structure and Interpretation of Computer Programs by Harold AbelsonIntroduction to Algorithms by Thomas H. CormenDesign Patterns by Erich GammaCode Complete by Steve McConnellHacker's Delight by Henry S. Warren Jr.
Best programming books
7th out of 53 books — 28 voters
Structure and Interpretation of Computer Programs by Harold AbelsonIntroduction to Algorithms by Thomas H. CormenThe C Programming Language by Brian W. KernighanScratch 2.0 Programming by Denis GolikovCode by Charles Petzold
My Favorite Computer Science Books
10th out of 22 books — 39 voters


More lists with this book...

Community Reviews

(showing 1-30 of 3,000)
filter  |  sort: default (?)  |  Rating Details
Mike
Jul 12, 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
...more
Gregory
Sep 17, 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
...more
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
Ondrej Sykora
Dec 11, 2013 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
...more
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
Kelly
Dec 07, 2015 Kelly rated it it was amazing
Shelves: read-in-2015
Super helpful to review data structures, algorithms and problem solving.
Prakash
Sep 14, 2015 Prakash rated it really liked it
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
...more
Antony Thomas
Feb 27, 2013 Antony Thomas rated it it was amazing
AFter reading this book, you would start to think in terms bit and bytes.
Ryan Chibana
Oct 29, 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
Fatima
Jan 03, 2016 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
...more
Woolstar
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.
Rohit Vaidya
Oct 03, 2014 Rohit Vaidya is currently reading it
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
Ashish Sharma
Dec 14, 2014 Ashish Sharma 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
Dec 22, 2015 Adarsh 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.
Graham Lee
Feb 13, 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.
Vignesh Venkat
Aug 09, 2015 Vignesh Venkat rated it it was amazing
The best book for aspiring programmers. Really simple way of explaining fundamentals of data structures and ingenuine algorithms.
Hugo Lopes Tavares
Jan 26, 2016 Hugo Lopes Tavares rated it really liked it
Awesome problems and puzzles. I learnt a lot with this book.
Tristan Williams
Sep 15, 2014 Tristan Williams rated it really liked it
A lot of good articles on the intricacies of computer programming. A bit outdated, but then again, what isn't?
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.

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
Carlos
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.
Darin
Jan 23, 2014 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.
Angelo
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..
Turner
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.
Raghu Hudli
Apr 06, 2013 Raghu Hudli rated it it was amazing
Read this book years ago; has shaped many of my programming skills. I read it again recently. Though modern design have additional constraints and forces to reckon, this book is still invaluable!
Bob Eager
Nov 06, 2012 Bob Eager rated it it was amazing
This is an excellent book. Quite slim, but the content is dense.

Lots of thought-provoking ideas gleaned from Jon Bentley's regular columns. I really the the problem/solution in the firts chapter.
Mark Nenadov
Jul 23, 2011 Mark Nenadov rated it it was amazing
This book is amazing! Its a true classic on algorithims.

I would place this on my list of the top 5 programming books of all time. A must read for every who calls themselves a "programmer".
박은정 Park
Oct 09, 2013 박은정 Park rated it really liked it
영화도, 음악도, 책도 그런게 있다.
보거나 듣거나 읽는 동안에는 잘 몰랐는데 지나고 나서 자꾸 생각나는.
정확히 이 책이 그렇다. 읽을 당시보다 오히려 읽고 난 지금 더 마음에 닿는다.
만일 좀 더 시간이 지나 다시 읽게 된다면 처음 읽었을 때와는 다르겠지.
어쩌면 인간관계도 그렇지 않을까 싶다.
Rodolfo Quesada
Mar 13, 2013 Rodolfo Quesada rated it really liked it
Shelves: computer-science
If read as novel, cover to cover, it seems kind of repetitive, but if you stop and implement some of the code sometimes, it is quite enjoyable. Lots of good advice and insight.
« previous 1 3 4 5 6 7 8 9 99 100 next »
There are no discussion topics on this book yet. Be the first to start one »
  • The Practice of Programming
  • Advanced Programming in the UNIX Environment
  • The Little Schemer
  • Compilers: Principles, Techniques, and Tools
  • Purely Functional Data Structures
  • Hacker's Delight
  • Rapid Development: Taming Wild Software Schedules
  • Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)
  • The Art of Computer Programming, Volume 1: Fundamental Algorithms
  • The Art of UNIX Programming
  • The Algorithm Design Manual
  • A Discipline of Programming
  • Mastering Regular Expressions
  • Beautiful Code: Leading Programmers Explain How They Think
  • Elements of Programming
  • Types and Programming Languages
  • Working Effectively with Legacy Code
  • 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