Programming Pearls

Programming Pearls - Jon Bentley

Excellent.

Until now, there is no such book which makes me shout out like this af­ter re­ceiv­ing from Amazon. Let me briefly re­view some fa­vorite books:

  • CLRS: theoretically, this re­ally is an introduction” text­book about al­go­rithms. Nonethe­less, it still is an ex­ten­sive ref­er­ence and full of de­tails. However, I am not im­pressed by the writ­ing style and the pseudo-code.

  • Algorithms, Sedgewick: one of the best text­books ever. The code in the book is runnable, the analy­sis is in­ter­est­ing and rig­or­ous (in con­trast with CLRS uses Big-O, Sedgewick’s approach is nearly ex­act analy­sis). The method to prove the cor­rect­ness and com­plex­ity is ac­ces­si­ble as well as il­lus­tra­tions in the book are fas­ci­nat­ing. A draw­back is that the pa­per is too thin so that it eas­ily tears apart while note-tak­ing.

  • TAoCP: completely clas­si­cal style and heav­ily math­e­mat­i­cal analy­sis.

  • Elements of Interview Programming: Cookbook for prac­tic­ing al­go­rithms. I do not have any spe­cial im­pres­sions of the book.

Programming Pearls is com­pletely op­po­site to afore­men­tioned books. This book is the per­spec­tive of an en­gi­neer on ap­ply­ing al­go­rithms on work and solv­ing other prob­lems. More pre­cisely, this is an ad­ven­ture of Jon Bentley who is a renowned com­puter sci­en­tist known for kd-tree and Programming Pearls columns which are very fa­mous dur­ing the pe­riod of 80s. [Don Knuth even send some lit­er­ate pro­gram­ming code to Jon Bentley in or­der to in­tro­duce the con­cept].

Although the book is quite thin com­pared to other programming” or algorithms” books, it pos­sesses many pearls” in­side. The writ­ing style is re­lax­ing and en­gag­ing, in­ter­spersed with rig­or­ous ap­proaches, ex­ten­sive ref­er­ences, and many in­trigu­ing puz­zles which are worth giv­ing a shot. What makes the book spe­cial is the way the au­thor ef­fi­ciently uses a sci­en­tific ap­proach to solve in­dus­trial prob­lems as well as the view­point of an en­gi­neer about al­go­rithms.

Perhaps Steve McConnell al­ready gave the best de­scrip­tion about this book:

… Programming Pearls was one of the most in­flu­en­tial books I read early in my ca­reer, and many of the in­sights I first en­coun­tered in that book stayed with me long af­ter I read it. …