Beautiful Code
Well, the feline has apparently been debagged: in his keynote at SIGCSE 2007 on Friday, Grady Booch mentioned the book that Andy Oram and I are putting together for O’Reilly. It’s called Beautiful Code: Leading Programmers Explain How They Think, and contains essays by more than thirty great software developers on, well, beautiful code. It isn’t on O’Reilly’s public site yet, but it’s already listed on Amazon. The contents are:
- Greg Wilson: Foreword
- Brian Kernighan: Beautiful Brevity: Rob Pike's Regular Expression Matcher
- Karl Fogel: Subversion's Delta Editor: Interface as Ontology
- Jon Bentley: The Most Beautiful Code I Never Wrote
- Tim Bray: Finding Things
- Elliotte Rusty Harold: Correct, Beautiful, Fast (In That Order): Lessons From Designing XML Validators
- Michael Feathers: Framework for Integrated Test: Beauty through Fragility
- Alberto Savoia: Beautiful Tests
- Charles Petzold: On-the-Fly Code Generation for Image Processing
- Douglas Crockford: Top Down Operator Precedence
- Henry Warren: The Quest for an Accelerated Population Count
- Ashish Gulhati: Secure Communication: The Technology of Freedom
- Lincoln Stein: Growing Beautiful Code in BioPerl
- Jim Kent: The Design of the Gene Sorter
- Jack Dongarra and Piotr Luszczek: How Elegant Code Evolves With Hardware: The Case Of Gaussian Elimination
- Adam Kolawa: Beautiful Numerics
- Greg Kroah-Hartman: The Linux Kernel Driver Model: The Benefits of Working Together
- Diomidis Spinellis: Another Level of Indirection
- Andrew Kuchling: Python's Dictionary Implementation: Being All Things to All People
- Travis Oliphant: Multi-Dimensional Iterators in NumPy
- Ronald Mak: A Highly Reliable Enterprise System for NASA's Mars Rover Mission
- Rogerio Atem de Carvalho and Rafael Monnerat: ERP5: Designing for Maximum Adaptability
- Bryan Cantrill: A Spoonful of Sewage
- Jeff Dean and Sanjay Ghemawat: Distributed Programming with MapReduce
- Simon Peyton Jones: Beautiful Concurrency
- Kent Dybvig: Syntactic Abstraction: The syntax-case expander
- William Otte and Doug Schmidt: Labor-Saving Architecture: An Object-Oriented Framework for Networked Software
- Andrew Patzer: Integrating Business Partners the RESTful Way
- Andreas Zeller: Beautiful Debugging
- Yukihiro Matsumoto: Code That's Like an Essay
- Arun Mehta: Designing Interfaces Under Extreme Constraints: the Stephen Hawking editor
- TV Raman: Emacspeak: The Complete Audio Desktop
- Laura Wingerd and Christopher Seiwald: Code in Motion
- Brian Hayes: Writing Programs for "The Book"
- Andy Oram: Afterword
I’m proud to have worked on it, and even prouder of the fact that royalties from the book will be donated to Amnesty International. My only regret is that Frank Willison isn’t here to enjoy it with us. I hope you all enjoy reading it as much as I hope he would have.
Later: for those who have left comments / sent email asking, “Why isn’t XYZ included?”, the answer is probably one of:
- we weren't able to reach them,
- we asked, but they declined, or
- we didn't ask this time around, but if you can talk them into contributing to Volume 2, please do so.