Programming Pearls
Programming Pearls - Jon Bentley
Excellent.
Few books have made me exclaim with delight upon receiving them from Amazon. Let me briefly compare Programming Pearls to some favorite algorithm books:
-
CLRS: theoretically, this truly is an “introduction” textbook about algorithms. It serves as an extensive reference full of details. However, the writing style and pseudo-code don’t particularly impress me.
-
Algorithms, Sedgewick: one of the best textbooks ever. The code is runnable, and the analysis is both interesting and rigorous (unlike CLRS’s Big-O approach, Sedgewick’s method yields nearly exact analysis). The proofs of correctness and complexity are accessible, and the illustrations are fascinating. One drawback: the paper is so thin it tears easily while note-taking.
-
TAoCP: completely classical style and heavily mathematical analysis.
-
Elements of Programming Interviews: A cookbook for practicing algorithms. It leaves no particular impression on me.
Programming Pearls stands in stark contrast to the aforementioned books. It offers an engineer’s perspective on applying algorithms at work and solving real problems. More precisely, this book chronicles Jon Bentley’s adventures—a renowned computer scientist known for the kd-tree and his Programming Pearls columns that gained fame during the 80s. (Don Knuth even sent literate programming code to Bentley to introduce the concept.)
Though the book is slim compared to other “programming” or “algorithms” books, it contains many “pearls” within. The writing style is relaxed yet engaging, interspersed with rigorous approaches, extensive references, and intriguing puzzles worth attempting. What makes this book special is how the author applies scientific methods to industrial problems, offering an engineer’s unique viewpoint on algorithms.
Perhaps Steve McConnell already gave the best description about this book:
… 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. …