Science current events, science news articles, research and discoveries.
Top science news articles and science current events stories from the past week.
Science Current Events Resources
Science Current Events and Science News RSS Feeds
Earth, Life and Space Science News and Current Events RSS Feeds.
|
 |
 |
 |
| View Larger Image | Programming Pearls (2nd Edition) (ACM Press) by Jon Bentley
| | List Price: | $39.99 | | Price: | $32.85 | | You Save: | $7.14 (18%) |  | | Available: | Usually ships in 24 hours |  | |  | | Sales Rank: | 37539 | | Studio: | Addison-Wesley Professional |  | | Binding: | Paperback | | Number Of Pages: | 256 | | Publication Date: | October 07, 1999 | | Publisher: | Addison-Wesley Professional |
| |
EDITORIAL REVIEWS | 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 | Amazon.com Review Fourteen years after it was first issued, C++ expert Jon Bentley reinvents a true classic with the second edition of his Programming Pearls. Completely revised and brought up to date with all new code examples in C and C++, this book remains an exceptional tutorial for learning to think like a programmer. The "pearls" in question center not only on choosing the right algorithms (like binary searches, sorting techniques, or sparse arrays) but also on showing how to solve problems effectively. Each chapter frames a particular programming task--such as sorting numbers, creating anagrams, or counting the words in a block of text--many drawn from Bentley's experiences in his long career as a developer. The book traces the process of arriving at a fast, efficient, and accurate solution, along with code profiling to discover what works best. After refining the correct answer, each chapter enumerates programming principles that you can use on your own. The author also challenges you to think like an engineer, and each chapter ends with about a dozen problems to get you thinking creatively about design issues. (Sidebars on such historical topics as the first computer solutions to computer chess, spell-checking, and even architectural design help create a perspective on successful problem solving and make for a truly educational and enjoyable tour of how to become a better programmer.) Bentley also asks the reader to think analytically about the world with "back of the envelope" estimation techniques drawn from engineering. Appendices list the algorithms and code rules covered in the book, plus some sample solutions. Fans of the first edition of this title will be pleased to see this favorite computer text brought up to date for today's faster hardware. Whether you want to improve your command of algorithms or test your problem-solving skills, the new version of Programming Pearl is a challenging, instructive, and thoroughly entertaining resource. --Richard Dragan Topics covered: Programming and problem-solving tutorial, sorting algorithms, merge sort, bit vectors, binary searches, program correctness and testing, improving performance, engineering and problem-solving techniques, performance estimates, designing for safety, divide-and-conquer and scanning algorithms, tuning code, tips for more efficient memory usage, insertion sort, quicksort algorithms, sparse arrays, searching algorithms, binary search trees, heaps, priority queues, searching text, and generating random text. |
CUSTOMER REVIEWS (Average Customer Rating: 4.5 based on 34 reviews)
| Good topics, flawed presentation  "Programming Pearls" summarizes many important topics in Computer Science, usually in a sub-par manner. About 10% of the book is dedicated to "thinking outside the box," and I'd say these parts really shine. Unfortunately, the other 90% isn't nearly as good. There are inconsistencies in notation, improperly explained terminology, and incomplete analyses. For example, his chapter on structured testing leaves out randomized testing (which I would argue is just as important), despite the fact that it takes little space to explain. I felt most chapters had deficiencies.
While I have a long list of complaints, my biggest one is his chapter promoting a colleague's work on the n-body simulation problem, which at times reads like an advertisement. He discusses each speed optimization without discussing the impact on the error rate. Although he states his focus is on performance, I can't imagine any good programmer ignoring something as important as the error rate (a fast answer may be worthless if it is incorrect)! He could have used this opportunity to have a great discussion of the trade-off between speed and accuracy. Ignoring this aspect struck me as odd because this kind of critical thinking (examining all aspects of a system) is a key tenet to being a good programmer. It felt like a very poor example, where the author was more concerned with promoting a colleague than teaching the reader how to think critically.
I'm sure this book will definitely be helpful to neophytes. However, I think there are better treatments of these subjects out there. No good book in its 2nd edition should have some of the mistakes that are present in "Programming Pearls". November 26, 2008 | | Utterly essential to read and re-read  I have a (very) short list of books that I re-read annually. This is the book at the top of my list.
I am a professional software developer working within the world's largest software company. I work in amongst (BY FAR) the most incredible software engineers on the planet. One of the things that I enjoy the most about working with the people around me is range and depth of experiences that are applied to solving a given problem. Oftentimes, the best solution is not the most obvious.
That's why I re-read this book every year: it's a short, easy-to-read reminder to think laterally about a given problem and to deconstruct a problem as much as possible before attacking it.
I first read this book back in 2000 whilst stood in a bookstore. I instantly wondered why Jon hadn't written it before.
Creative thinking is something that we all too often forget when we toil daily on our code, trying to make it more feature-complete, faster, more secure and more stable. Sometimes one needs to take a step back from the problem and consider things with a more open mind that may result in having to write less code overall, or to write just a little more code to completely transform the operational performance of a given routine. This book regularly reminds me how to do that.
I cannot recommend this book highly enough - absolutely essential reading for all developers - old and new - regardless of your chosen language / platform / toolset. October 16, 2008 | | Good book  This book deeply explains each alogirthm and its complexities. Teaches you how each line could affect the performance of the problem. Good thing is it has many exericised that gives more insight of the algorithm discussed. September 21, 2008 | | Brief and cursory  It's a collection of lessons appropriate for college students, nothing more. If you've seen your fair share of sorts and trees, don't feel pressured by my fellow reviewers into thinking this book is some sort of essential programmers' bible.
The advice so highly praised here is borderline commonsensical: ask why you need to change code before you do it, get as many specification details as you can before you start a project, consider running times and minimizing the amount of data you need to use.
Pearls is short on content for us non-newbies. September 19, 2008 | | Must read  One of the must read for S/W Engineers. These essays make you really think and teach you basics of s/w development. I also liked the exercises under each essay. I found it difficult to read this book in one go but I read this book almost twice. And every time I read this, I learn something new! September 15, 2008 | |
SIMILAR PRODUCTS |
| | Programming Interviews Exposed: Secrets to Landing Your Next Job, 2nd Edition (Programmer to Programmer) by John Mongan, Noah Suojanen, Eric Giguère
| | Code Complete: A Practical Handbook of Software Construction by Steve McConnell
| | The Practice of Programming (Addison-Wesley Professional Computing Series) by Brian W. Kernighan, Rob Pike
| | Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
| | Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series) by Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides
|
|
|
|
|