countdown boutiques-francophones Luxury Beauty Furniture Kindle Explore the Amazon.ca Vinyl LP Records Store sports Tools

Customer reviews

4.1 out of 5 stars
24
Format: Paperback|Change
Price:$44.20+ Free shipping with Amazon Prime


There was a problem filtering reviews right now. Please try again later.

on May 29, 2002
I have programmed for 20 years, and there are references in this book older than that. However, this touches on the principles and that can make you think more about how you code and the impact it will have on performance. The writing style of the book can be confusing at times, and that is probably why I would not give this 5 stars. It seems like these were supposed to have been articles in some Computer periodical and put together as a book. If you are looking for a book on programming as a craft this would be a book to own.
0Comment|Was this review helpful to you?YesNoReport abuse
on June 8, 2002
for programming to be effective it is to be divided into 3 stages.in the first stage a clear formulation of the problem and the expected perfomance is laid out.inthe 2nd stage a suitable programming language is selected.in the 3rd stage coding is done.bentley stresses the need for search for the context under which the problem can be solved.it requires a cultivated laziness to outline solution ,which is akin to having an insight.there are no sure fire formulae to get this quickly.
0Comment|Was this review helpful to you?YesNoReport abuse
on April 18, 1997
There are not many books on advanced computer programming that you actually want to read. Usually, the subject is so dry and full of theory that you have to force yourself. This book is the exception. Bentley's easy-to-read style makes this book a pleasure to read. His theoretical analysis is impeccable, but he presents complex topics in a chatty format that makes you remember the joy you felt the first time you wrote a program, and lets you know he still feels that way
0Comment|Was this review helpful to you?YesNoReport abuse
on December 18, 1999
It's great to see they've come out with an update to this book. The essays in this book are easy to read and touch on many valuable things, such as tuning and optimization of algorithms, using mini languages to provide robust tools, doing back-of-the-envelope calculations, and much more. I have recommended this book to several beginning programmers that I know as an excellent introduction to thinking effectively about the challenges of software engineering.
0Comment|Was this review helpful to you?YesNoReport abuse
on November 7, 2001
this is a thinking man's book. Lots of puzzles to get you thinking about proper data structure design, choice of alrogithm, and optimization. I like how it doesn't 'dumb down' and explain every last detail. Bentley is also an entertaining writer. There are answers to select questions that appear at the end of each chapter.
0Comment|Was this review helpful to you?YesNoReport abuse
on September 21, 1999
Great book for those who are interested in the thought that goes behind the problem solving skills that are used by great programmers. Does not matter which language or progamming method you use, this book can teach you something. If all programmers read this book, we would have much better software in this world
0Comment|Was this review helpful to you?YesNoReport abuse
on February 5, 2002
Eu já havia lido os dois volumes da primeira edição, os quais considero de alto nível. A segunda versão está impecável. Tenho usado na preparação de aulas para cursos de graduação e recomendo a sua leitura a todos que se interessam por programação.
0Comment|Was this review helpful to you?YesNoReport abuse
on July 13, 2001
One of a few books I'd suggest every programmer read. For two reasons:
o the technical material is well-chosen and well-explained o the writing style is worthy of emulation
Overall, it's worthy of your bookshelf's space.
0Comment|Was this review helpful to you?YesNoReport abuse
on August 24, 2016
Wow, there are so many simple tricks and detailed explanations. Will surely make you a better programmer, regardless of experience.
0Comment|Was this review helpful to you?YesNoReport abuse
on July 27, 2002
Bentley's classic, "Programming Pearls", makes an important point, namely that you won't get good performance without careful coding and profile-based tuning. And it's made clearly, concisely and with compelling examples. The choice of language (C), and the choice of problems (those from computer science 101 we all think we know cold) betrays the sophistication of Bentley's analyses.
Suppose, for the sake of argument, that you have a binary search that's holding up your loop. Or your Huffman coding just isn't snappy enough? "How is that possible?", you might say, fresh out of computer-science 201, "Didn't we just prove these algorithms are optimal?" Well yes, asymptotically up to an arbitrary constant multiplier. But this is the real world, and your code needs to go faster. If this sounds like your predicament, pull up a chair and read "Programming Pearls"; if it's not, you might wonder what all the fuss is about.
Next, fire up your favorite hardware (Sparc or x86 or PowerPC), favorite language (Perl, Java, or even C), favorite release of that language, along with your favorite interpreter or compiler (Hotspot or standard? GCC or Visual C++). And you'll need a profiler; might as well treat yourself to a good one if you're serious. Then fire up your code with a representative range realistic test data and observe what happens. Function by function, byte by byte. Then try to be as clever as Bentley in (a) figuring out why, (b) trying a range of alternatives, and (c) making it all go faster with minor tuning. Typically, you'll find a single bottleneck taking an order of magnitude more time than everything else, and work on that. Repeat until fast enough.
As well as this simple, yet surprisingly effective and realistic methodology, Bentley provides a range of concrete tips on making things go faster, from tweaking data structures to unfolding loops (especially precomputing low-order cases) to using accumulators and caching, all with an eye to underlying memory, communication and CPU resources.
Real code that has to run fast, like the code that we write at my current company for signal processing, speech recognition and speech synthesis, typically looks like the end-product of Bentley's refactorings. And it gets that way following exactly the path he lays out: analyze the problem, choose the right algorithm (or the right few to evaluate), and then tune it up using profiling.
"Programming Pearls" is the beginning of the road. You will need to look elsewhere for topics such as compression for memory saving, numerical algorithms, effective concurrency and memory sharing, efficient buffered I/O, garbage collection, and the wide range of dynamic programming and heuristic techniques.
0Comment| One person found this helpful. Was this review helpful to you?YesNoReport abuse