or
Sign in to turn on 1-Click ordering.
or
Amazon Prime free trial required. Sign up when you check out. Learn more
More Buying Choices
Have one to sell? Sell yours here
or
Get a £8.70 Amazon.co.uk Gift Card
Programming Pearls (ACM Press)
 
See larger image
 
Tell the Publisher!
I’d like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Programming Pearls (ACM Press) [Paperback]

Jon Bentley
4.0 out of 5 stars  See all reviews (5 customer reviews)
RRP: £26.99
Price: £22.94 & this item Delivered FREE in the UK with Super Saver Delivery. See details and conditions
You Save: £4.05 (15%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In stock.
Dispatched from and sold by Amazon.co.uk. Gift-wrap available.
Want guaranteed delivery by Wednesday, May 30? Choose Express delivery at checkout. See Details
‹  Return to Product Overview

Product Description

Amazon.co.uk Review

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

Product Description

"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

From the Publisher

Add this book to your list of favourites
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.

From the Back Cover


"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

About the Author

I. PRELIMINARIES. Column 1. Cracking the Oyster. A Friendly Conversation.Precise Problem Statement.Program Design.Implementation Sketch.Principles.Problems.Further Reading.Column 2. Aha! Algorithms. Three Problems.Ubiquitous Binary Search.The Power of Primitives.Getting It Together: Sorting.Principles * Problems.Further Reading.Implementing an Anagram Program.Column 3. Data Structures Programs. A Survey Program.Form-Letter Programming.An Array of Examples.Structuring Data.Powerful Tools for Specialized Data.Principles.Problems.Further Reading.Column 4. Writing Correct Programs. The Challenge of Binary Search.Writing the Program.Understanding the Program.Principles.The Roles of Program Verification.Problems.Further Reading.Column 5. A Small Matter of Programming. From Pseudocode to C.A Test Harness.The Art of Assertion.Automated Testing.Timing.The Complete Program.Principles.Problems.Further Reading.Debugging.II. PERFORMANCE. Column 6. Perspective on Performance. A Case Study.Design Levels.Principles.Problems.Further Reading.Column 7. The Back of the Envelope. Basic Skills.Performance Estimates.Safety Factors.Little's Law.Principles.Problems.Further Reading.Quick Calculations in Everyday Life.Column 8. Algorithm Design Techniques. The Problem and a Simple Algorithm.Two Quadratic Algorithms.A Divide-and-Conquer Algorithm.A Scanning Algorithm.What Does It Matter?Principles.Problems.Further Reading.Column 9. Code Tuning. A Typical Story.A First Aid Sampler.Major Surgery--Binary Search.Principles.Problems.Further Reading.Column 10. Squeezing Space. The Key--Simplicity.An Illustrative Problem.Techniques for Data Space.Techniques for Code Space.Principles.Problems.Further Reading.A Big Squeeze.III. THE PRODUCT. Column 11. Sorting. Insertion Sort.A Simple Quicksort.Better Quicksorts.Principles.Problems.Further Reading.Column 12. A Sample Problem. The Problem.One Solution.The Design Space.Principles.Problems.Further Reading.Column 13. Searching. The Interface.Linear Structures.Binary Search Trees.Structures for Integers.Principles.Problems.Further Reading.A Real Searching Problem.Column 14. Heaps. The Data Structure.Two Critical Functions.Priority Queues.A Sorting Algorithm.Principles.Problems.Further Reading.Column 15. Strings of Pearls. Words.Phrases.Generating Text.Principles.Problems.Further Reading.Epilog to the First Edition. Epilog to the Second Edition. Appendix 1. A Catalog of Algorithms. Appendix 2. An Estimation Quiz. Appendix 3. Cost Models for Time and Space. Appendix 4. Rules for Code Tuning. Appendix 5. C++ Classes for Searching. Hints for Selected Problems. Solutions to Selected Problems. Index.
‹  Return to Product Overview

Amazon.co.uk Privacy Statement Amazon.co.uk Delivery Information Amazon.co.uk Returns & Exchanges