Home | Amazing | Today | Tags | Publishers | Years | Account | Search 
Programming Pearls (2nd Edition)

Buy
"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.

The columns in this book are about a more glamorous aspect of the profession: programming pearls whose origins lie beyond solid engineering, in the realm of insight and creativity. Just as natural pearls grow from grains of sand that have irritated oysters, these programming pearls have grown from real problems that have irritated real programmers. The programs are fun, and they teach important programming techniques and fundamental design principles.

Most of these essays originally appeared in my ''Programming Pearls'' column in Communications of the Association for Computing Machinery. They were collected, revised and published as the first edition of this book in 1986. Twelve of the thirteen pieces in the first edition have been edited substantially for this edition, and three new columns have been added.

The only background the book assumes is programming experience in a high-level language. Advanced techniques (such as templates in C++) show up now and then, but the reader unfamiliar with such topics will be able to skip to the next section with impunity.

Although each column may be read by itself, there is a logical grouping to the complete set. Columns 1 through 5 form Part I of the book. They review programming fundamentals: problem definition, algorithms, data structures and program verification and testing. Part II is built around the theme of efficiency, which is sometimes important in itself and is always a fine springboard into interesting programming problems. Part III applies those techniques to several substantial problems in sorting, searching and strings.

One hint about reading the essays: don't go too fast. Read them carefully, one per sitting. Try the problems as they are posed -- some of them look easy until you've butted your head against them for an hour or two. Afterwards, work hard on the problems at the end of each column: most of what you learn from this book will come out the end of your pencil as you scribble down your solutions. If possible, discuss your ideas with friends and colleagues before peeking at the hints and solutions in the back of the book. The further reading at the end of each chapter isn't intended as a scholarly reference list; I've recommended some good books that are an important part of my personal library.

This book is written for programmers. I hope that the problems, hints, solutions, and further reading make it useful for individuals. The book has been used in classes including Algorithms, Program Verification and Software Engineering. The catalog of algorithms in Appendix 1 is a reference for practicing programmers, and also shows how the book can be integrated into classes on algorithms and data structures.

(HTML tags aren't allowed.)

WebGL: Up and Running
WebGL: Up and Running
In early 1994, Tim Berners-Lee put out an open call for a virtual reality specification for the Web; Mark Pesce and I answered. Only being able to afford one plane ticket, we sent Mark to Geneva to present our Labyrinth prototype at the first-ever World Wide Web Developers’ Conference. With typical bombast,...
Acceptance and Commitment Therapy (100 Key Points)
Acceptance and Commitment Therapy (100 Key Points)

Acceptance and Commitment Therapy: 100 Key Points and Techniques offers a comprehensive, yet concise, overview of the central features of the philosophy, theory, and practical application of ACT. It explains and demonstrates the range of acceptance, mindfulness, and behaviour change strategies that can be used in the service...

Getting Started with CSS
Getting Started with CSS
The current market for CSS books seems to fall into two categories: technical treatises that cover CSS in a structured fashion, and cookbooks aimed at designers who have already mastered the basic principles of CSS. What's missing is a book that enables beginners to start improving the look of their websites without first needing to wade...

C++ Quick Syntax Reference
C++ Quick Syntax Reference

The C++ Quick Syntax Reference is a condensed code and syntax reference to the C++ programming language. It presents the essential C++ syntax in a well-organized format that can be used as a handy reference.

You won’t find any technical jargon, bloated samples, drawn out history lessons, or witty stories in this book. What...

Structured Computer Organization (6th Edition)
Structured Computer Organization (6th Edition)

Structured Computer Organization, specifically written for undergraduate students, is a best-selling guide that provides an accessible introduction to computer hardware and architecture. This text will also serve as a useful resource for all computer professionals and engineers who need an overview or introduction to computer...

Things I Will Never Tell You
Things I Will Never Tell You
This book is my world (cerebral based mindset) so understand it is the opposite of your world (physical based mindset) or you will not last very long, psychologically speaking. If you want to live in your world of fear, write a book and I will use the pages to wrap my fi sh heads in. I am pleased with my thoughts and my words and I will never...
©2021 LearnIT (support@pdfchm.net) - Privacy Policy