| |||||||||||||||
![]() Gutschein erhalten
Tauschen Sie jetzt Programming Pearls (ACM Press) gegen einen Amazon-Gutschein in Höhe von EUR 9,00 ein - einlösbar für Tausende von Artikeln bei Amazon.de. Entdecken Sie mehr eintauschbare Bücher im Bücher Trade-In Shop. Bitte beachten Sie die Teilnahmebedingungen.
|
Produktinformation
Möchten Sie die Produktinformationen aktualisieren oder Feedback zu den Produktabbildungen geben?
Ist der Verkauf dieses Produkts für Sie nicht akzeptabel? |
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 "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.
Vorgeschlagene Tags zu ähnlichen Produkten(Was ist das?)Setzen Sie den ersten relevanten Tag hinzu (ein Schlüsselwort, das mit diesem Produkt in engem Zusammenhang steht).
|
|
Sagen Sie Ihre Meinung zu diesem Artikel:
|
||||||||||||||||||||||
|
Die hilfreichsten Kundenrezensionen
3 von 3 Kunden fanden die folgende Rezension hilfreich:
5.0 von 5 Sternen
A course in how to think like an experienced programmer,
Von
Rezension bezieht sich auf: Programming Pearls (ACM Press) (Taschenbuch)
The thirteen columns in this book appeared in the Communications of the ACM between 1983 and 1985. There can't be more than a couple of technical books on computing from that era that are still worth reading. Kernighan & Ritchie's book, "The C Programming Language", is one that springs to mind; this book is definitely another, and will probably outlast K&R as it has almost no ties to existing or past hardware or languages.What Bentley does in each of these columns is take some part of the field of programming--something that every one of us will have run into at some point in our work--and dig underneath it to reveal the part of the problem that is permanent; that doesn't change from language to language. The first two parts cover problem definition, algorithms, data structures, program verification, and efficiency (performance, code tuning, space tuning); the third part applies the lessons to example pseudocode, looking at sorting, searching, heaps, and an example spellchecker. Bentley writes clearly and enthusiastically, and the columns are a pleasure to read. But the reason so many people love this book is not for the style, it's for the substance--you can't read this book and not come away a better programmer. Inefficiency, clumsiness, inelegance and obscurity will offend you just a little more after you've read it. It's hard to pick a favourite piece, but here's one nice example from the algorithm design column that shows how little the speed of your Pentium matters if you don't know what you're doing. Bentley presents a particular problem (the details don't matter) and multiple different ways to solve it, calculating the relationship between problem size and run time for each algorithm. He gives, among others, a cubic algorithm (run time equal to a constant, C, times the cube of the problem size, N--i.e. t ~ CN^3), and a linear algorithm with constant K (t ~ KN). He then implemented them both: the former in fine-tuned FORTRAN on a Cray-1 supercomputer; the latter in BASIC on a Radio Shack TRS-80. The constant factors were as different as they could be, but with increasing problem size the TRS-80 eventually has to catch up--and it does. He gives a table showing the results: for a problem size of 1000, the Cray takes three seconds to the TRS-80's 20 seconds; but for a problem size of 1,000,000, the TRS-80 takes five and a half hours, whereas the Cray would take 95 years. The book is informative, entertaining, and will painlessly make you a better programmer. What more can you ask? Helfen Sie anderen Kunden bei der Suche nach den hilfreichsten Rezensionen
1 von 1 Kunden fanden die folgende Rezension hilfreich:
5.0 von 5 Sternen
The Pearls Still Glitter After a Decade,
Von Charles Ashbacher (Marion, Iowa United States) - Alle meine Rezensionen ansehen
Rezension bezieht sich auf: Programming Pearls (ACM Press) (Taschenbuch)
Without any doubt, my favorite article in _Communications of the ACM_ in the 1980's was the regular 'Programming Pearls' articles by Jon Bentley. When the first edition of these collected gems was published, I read it with great delight. Now, over a decade later, a second edition has been published, containing the same problems with additional modifications and notations. Given the enormous changes in programming since the mid 80's, your first reaction might be that this book is dated and therefore irrelevant. Nothing could be further from the truth.Elegant solutions to complex programming problems are free from the rot of time. Programming is a thought process largely independent of the notation used to write it down. The solutions are sketched and explained rather than coded, and the solutions are complete. There is a certain mystique about taking a complex problem, finding an initial solution and then refining it down until it kicks some big time. There are some major lessons in program refinement explained in these solutions. Coding a binary search is covered quite extensively, which may seem like a waste of space, as this problem was solved decades ago. However, that solution took decades to get right, and this is one of those "separates the coders from the key bangers" type of problem. Other problems examined include performance tuning, squeezing space and program correctness. While the improvement in the performance of the hardware has been astounding since these solutions were written, that does not make them obsolete. The complexity of the programs that we now build has risen even faster, so performance and space considerations are just as critical. Some problems were here at the beginning and will still be here at the end. Even though there may be canned code to handle them, these problems are generic enough that the solutions can be applied elsewhere, so we must learn how to solve them. Understanding these problems and their solutions will give you a fundamental skill set that will serve you well for a long time. Helfen Sie anderen Kunden bei der Suche nach den hilfreichsten Rezensionen
5.0 von 5 Sternen
Must read!,
Rezension bezieht sich auf: Programming Pearls (ACM Press) (Taschenbuch)
Das Buch war für mich ein echtes Wow-Erlebnis. Ich habe es aus Neugier hier auf Basis der Rezensionen gekauft und wurde sehr positiv überrascht. Sehr interessant und verständlich geschrieben. Für jede(n) Informatiker(in)/Softwareentwickler(in) kann ich das Buch sehr empfehlen.
Helfen Sie anderen Kunden bei der Suche nach den hilfreichsten Rezensionen
Sagen Sie Ihre Meinung zu diesem Artikel: Eigene Rezension erstellen
|
|
|
Das Forum zu diesem Produkt
Fragen stellen, Meinungen austauschen, Einblicke gewinnen Aktive Diskussionen in ähnlichen Foren
Kundendiskussionen durchsuchen
|
Ähnliche Foren
|
||||||||||||||||||||||||||||||||||
|
|
|