Programing Pearls - Jon Bentley
Excellent.
Until now, there is no such book which makes me shout out like this after receiving from Amazon. Let brieftly review some favoriate books:
-
CLRS: theoretically, this really is an “introduction” textbook about algorithms. Nonetheless, it still is an extensive reference and full of details. However, I am not impressed by the writing style and the pseudo-code.
-
Algorithms, Sedgewick: one of the best textbooks ever. The code in the book is runnable, the analysis is interesting and rigorous (in contrast with CLRS uses Big-O, Sedgewick’s approach is nearly exact analysis). The method to prove the correctness and complexity is accessible as well as illustations in the book are fascinating. A drawback is that the paper is too thin so that it easily tears apart while note-taking.
-
TAoCP: completely classical style and heavily mathematical analysis.
-
Elements of Interview Programming: Cookbook for practicing algorithms. I do not have any special impressions of the book.
Programming Pearls is completely opposite to aforementioned books. This book is the perspective of an engineer on applying algorithms on work and solving other problems. More precisely, this is an adventure of Jon Bentley who is a renowned computer scientist known for kd-tree and Programming Pearls columns which are very famous during the period of 80s. [Don Knuth even send some literate programming code to Jon Bentley in order to introduce the concept].
Although the book is quite thin compared to other “programming” or “algorithms” books, it possesses many “pearls” inside. The writing style is relaxing and engaging, intersperses the rigorous approach, extensive references and many intriguing puzzles which are worth giving a shot. What makes the book special is the way the author effiently uses scienctific approach to solve industrial problems as well as the viewpoint of an engineer about 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. …