Beautiful Code: Leading Programmers Explain How They Think

Front Cover
"O'Reilly Media, Inc.", Jun 26, 2007 - Computers - 620 pages

How do the experts solve difficult problems in software development? In this unique and insightful book, leading computer scientists offer case studies that reveal how they found unusual, carefully designed solutions to high-profile projects. You will be able to look over the shoulder of major coding and design experts to see problems through their eyes.

This is not simply another design patterns book, or another software engineering treatise on the right and wrong way to do things. The authors think aloud as they work through their project's architecture, the tradeoffs made in its construction, and when it was important to break rules.
This book contains 33 chapters contributed by Brian Kernighan, KarlFogel, Jon Bentley, Tim Bray, Elliotte Rusty Harold, Michael Feathers,Alberto Savoia, Charles Petzold, Douglas Crockford, Henry S. Warren,Jr., Ashish Gulhati, Lincoln Stein, Jim Kent, Jack Dongarra and PiotrLuszczek, Adam Kolawa, Greg Kroah-Hartman, Diomidis Spinellis, AndrewKuchling, Travis E. Oliphant, Ronald Mak, Rogerio Atem de Carvalho andRafael Monnerat, Bryan Cantrill, Jeff Dean and Sanjay Ghemawat, SimonPeyton Jones, Kent Dybvig, William Otte and Douglas C. Schmidt, AndrewPatzer, Andreas Zeller, Yukihiro Matsumoto, Arun Mehta, TV Raman,Laura Wingerd and Christopher Seiwald, and Brian Hayes.
Beautiful Code is an opportunity for master coders to tell their story. All author royalties will be donated to Amnesty International.

 

Contents

A Regular Expression Matcher
1
Interface As Ontology
11
The Most Beautiful Code I Never Wrote
29
Finding Things
41
Lessons from Designing XML Verifiers
59
Beauty Through Fragility
75
Beautiful Tests
85
OntheFly Code Generation for Image Processing
105
A Highly Reliable Enterprise System for NASAs Mars Rover Mission
319
Designing for Maximum Adaptability
339
A Spoonful of Sewage
353
Distributed Programming with MapReduce
371
Beautiful Concurrency
385
The syntaxcase Expander
407
An ObjectOriented Framework for Networked Software
429
Integrating Business Partners the RESTful Way
451

Top Down Operator Precedence
129
The Quest for an Accelerated Population Count
147
The Technology Of Freedom
161
Growing Beautiful Code in BioPerl
187
The Design of the Gene Sorter
217
The Case of Gaussian Elimination
229
The LongTerm Benefits of Beautiful Design
253
The Benefits of Working Together
267
Another Level of Indirection
279
Being All Things to All People
293
Multidimensional Iterators in NumPy
303
Beautiful Debugging
463
Treating Code As an Essay
477
When a Button Is All That Connects You to the World
483
The Complete Audio Desktop
503
Code in Motion
527
Writing Programs for The Book
539
Afterword
553
Contributors
555
Index
565
Copyright

Common terms and phrases

Bibliographic information