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.
Inhaltsverzeichnis
Dedication
Foreword
Preface
Chapter 1: A Regular Expression Matcher
Chapter 2: Subversion's Delta Editor: Interface As Ontology
Chapter 3: The Most Beautiful Code I Never Wrote
Chapter 4: Finding Things
Chapter 5: Correct, Beautiful, Fast (in That Order): Lessons from Designing XML Verifiers
Chapter 6: Framework for Integrated Test: Beauty Through Fragility
Chapter 7: Beautiful Tests
Chapter 8: On-the-Fly Code Generation for Image Processing
Chapter 9: Top Down Operator Precedence
Chapter 10: The Quest for an Accelerated Population Count
Chapter 11: Secure Communication: The Technology Of Freedom
Chapter 12: Growing Beautiful Code in BioPerl
Chapter 13: The Design of the Gene Sorte
Chapter 14: How Elegant Code Evolves with Hardware The Case of Gaussian Elimination
Chapter 15: The Long-Term Benefits of Beautiful Design
Chapter 16: The Linux Kernel Driver Model: The Benefits of Working Together
Chapter 17: Another Level of Indirection
Chapter 18: Python's Dictionary Implementation: Being All Things to All People
Chapter 19: Multidimensional Iterators in NumPy
Chapter 20: A Highly Reliable Enterprise System for NASA's Mars Rover Mission
Chapter 21: ERP5: Designing for Maximum Adaptability
Chapter 22: A Spoonful of Sewage
Chapter 23: Distributed Programming with MapReduce
Chapter 24: Beautiful Concurrency
Chapter 25: Syntactic Abstraction: The syntax-case Expander
Chapter 26: Labor-Saving Architecture: An Object-Oriented Framework for Networked Software
Chapter 27: Integrating Business Partners the RESTful Way
Chapter 28: Beautiful Debugging
Chapter 29: Treating Code As an Essay
Chapter 30: When a Button Is All That Connects You to the World
Chapter 31: Emacspeak: The Complete Audio Desktop
Chapter 32: Code in Motion
Chapter 33: Writing Programs for "The Book"
Afterword
Contributors
Colophon