This reviewer still has the original edition of Bentley's book, 14-years-old now. Bentley's influential and eponymous columns first appeared in Communications of the ACM
. Programming Pearls
contains 15 of these--now updated--columns.
In his book Bentley assumes little more than a working knowledge of C, but it's in no way a guide to C. Rather, it approaches programming in the same way William Morris approached design--as a creative act founded on knowledge of the craft. From the first essay, Bentley emphasises the importance of accurately defining the problem in arriving at a fast, robust and efficient solution. He gives a number of examples that show how real understanding can reduce programming time, increase accuracy and reduce bugs.
The essays are divided into three alliteratively named sections: Preliminaries, Performance and Product. The first section covers writing a program that's correct for the programmer and the client. The second addresses efficiency, code tuning and performance. The last is a little unfocussed, albeit still interesting: it covers sorts, searches and heaps among other subjects. Take note, though: the solutions in the appendices are, in true C fashion, pointers to solutions. Programming Pearls is such a delight, you're likely to find yourself reading it in the bath. --Steve Patient
"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, Jon Bentley's collection of programming pearls is commonly included among the classics. Just as natural pearls grow from grains of sand that irritate oysters, programming pearls have grown from real problems that have irritated real programmers. With origins beyond solid engineering, in the realm of insight and creativity, Bentley's pearls offer unique and clever solutions to those nagging problems. Illustrated by programs designed as much for fun as for instruction, the book is filled with lucid and witty descriptions of practical programming techniques and fundamental design principles. It is not at all surprising that Programming Pearls has been so highly valued by programmers at every level of experience.In this revision, the first in 14 years, Bentley has substantially updated his essays to reflect current programming methods and environments.
In addition, there are three new essays on / testing, debugging, and timing / set representations / string problems All the original programs have been rewritten, and an equal amount of new code has been generated. Implementations of all the programs, in C or C++, are now available on the Web. What remains the same in this new edition is Bentley's focus on the hard core of programming problems and his delivery of workable solutions to those problems. Whether you are new to Bentley's classic or are revisiting his work for some fresh insight, the book is sure to make your own list of favorites. 0201657880B04062001