Home > Announcements, Beautiful Code, Books > Beautiful Code

Beautiful Code

March 10th, 2007

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:

  1. Greg Wilson: Foreword
  2. Brian Kernighan: Beautiful Brevity: Rob Pike’s Regular Expression Matcher
  3. Karl Fogel: Subversion’s Delta Editor: Interface as Ontology
  4. Jon Bentley: The Most Beautiful Code I Never Wrote
  5. Tim Bray: Finding Things
  6. Elliotte Rusty Harold: Correct, Beautiful, Fast (In That Order): Lessons From Designing XML Validators
  7. Michael Feathers: Framework for Integrated Test: Beauty through Fragility
  8. Alberto Savoia: Beautiful Tests
  9. Charles Petzold: On-the-Fly Code Generation for Image Processing
  10. Douglas Crockford: Top Down Operator Precedence
  11. Henry Warren: The Quest for an Accelerated Population Count
  12. Ashish Gulhati: Secure Communication: The Technology of Freedom
  13. Lincoln Stein: Growing Beautiful Code in BioPerl
  14. Jim Kent: The Design of the Gene Sorter
  15. Jack Dongarra and Piotr Luszczek: How Elegant Code Evolves With Hardware: The Case Of Gaussian Elimination
  16. Adam Kolawa: Beautiful Numerics
  17. Greg Kroah-Hartman: The Linux Kernel Driver Model: The Benefits of Working Together
  18. Diomidis Spinellis: Another Level of Indirection
  19. Andrew Kuchling: Python’s Dictionary Implementation: Being All Things to All People
  20. Travis Oliphant: Multi-Dimensional Iterators in NumPy
  21. Ronald Mak: A Highly Reliable Enterprise System for NASA’s Mars Rover Mission
  22. Rogerio Atem de Carvalho and Rafael Monnerat: ERP5: Designing for Maximum Adaptability
  23. Bryan Cantrill: A Spoonful of Sewage
  24. Jeff Dean and Sanjay Ghemawat: Distributed Programming with MapReduce
  25. Simon Peyton Jones: Beautiful Concurrency
  26. Kent Dybvig: Syntactic Abstraction: The syntax-case expander
  27. William Otte and Doug Schmidt: Labor-Saving Architecture: An Object-Oriented Framework for Networked Software
  28. Andrew Patzer: Integrating Business Partners the RESTful Way
  29. Andreas Zeller: Beautiful Debugging
  30. Yukihiro Matsumoto: Code That’s Like an Essay
  31. Arun Mehta: Designing Interfaces Under Extreme Constraints: the Stephen Hawking editor
  32. TV Raman: Emacspeak: The Complete Audio Desktop
  33. Laura Wingerd and Christopher Seiwald: Code in Motion
  34. Brian Hayes: Writing Programs for “The Book”
  35. 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.

Announcements, Beautiful Code, Books

  1. Robin Hay
    March 12th, 2007 at 02:55 | #1

    How did you select the authors – on their ability as programmers, writers, or their support for Amnesty International?
    A related question, which programmers would have rejected an invitation to contribute because the only charity being supported was Amnesty International?

  2. March 12th, 2007 at 07:24 | #2

    No contribution from David Heinemeier Hansson — the champion of beautiful code himself? That’s odd…

  3. Greg Wilson
    March 12th, 2007 at 07:35 | #3

    In reply to Robin Hay and Tomas Jogin, we invited people on the basis of their reputations. Many declined because of lack of time, we hope their schedules will allow them to take part in the second volume (if we do it). A few others declined because they felt uncomfortable with AI, but that would have happened no matter what charity we picked, and several other contributors said that the AI connection was the main reason they made time for the project.

  4. March 12th, 2007 at 12:59 | #4

    Sheesh, on the internet everyone is a critic …

    This looks like a great book and one I look forward to buying. Simon Peyton-Jones shared a draft of his Beautiful Concurrency with one of the Haskell mailing lists so if anyone wants a taster that’s out there somewhere.

    For what it’s worth I like your choice of charity, too.

  5. March 12th, 2007 at 19:10 | #5

    I find it unfortunate that people would elect not to contribute specifically because of AI, but not surprising. I don’t personally agree with everything AI says and does, but I have no problem at all with buying a book that will benefit their worthy efforts. (For instance, I’m inclined to disagree with AI because I believe that “freedom of speech” should not be made to exclude hateful speech. Any society that is too careful not to offend will, in equal part, fail to be genuinely expressive, artistic, and diverse. But this objection does not cancel out all of the valuable contributions AI has made to human rights.) Anyways, thank you for working on what is clearly going to be a great read!

  6. Marco Rooney
    March 13th, 2007 at 07:52 | #6

    …and no contribution by Donald E. Knuth either? With all his persistence in using literate programming.

  7. Greg Wilson
    March 13th, 2007 at 08:01 | #7

    In reply to Marco Rooney, a contribution from Knuth would have been wonderful — if you can talk him into writing something for Volume 2, I’ll buy you lunch ;-)

  8. Anonymous
    March 14th, 2007 at 05:20 | #8

    Why isn’t Linus one of the co-authors?

  9. Mike
    March 22nd, 2007 at 00:33 | #9

    I’d trade any 3 of the programmers listed for a contribution from Richard A. O’Keefe, whose contributions to logic programming (Prolog) and Erlang, among others, are beyond brilliant.

  10. George
    March 27th, 2007 at 17:22 | #10

    Thanks Greg! Naysayers aside, this looks like a wonderful book – I can’t wait to read.

  11. Tim Stewart
    June 25th, 2007 at 12:45 | #11

    I think I’m developing OCD. I find myself repeatedly performing the following actions.

    1. Navigate to Amazon’s page for “Beautiful Code”.
    2. See if it’s been published yet.
    3. Refresh page a few times (just in case it was published right after I loaded the page).
    4. GOTO 2

    All that is to say that I’m really anticipating this book. Any updates on when it will be published?

    If one particular chapter is holding up the works, I can submit some “How not to code” example code to replace that chapter.

    Thanks.

    Tim

  12. John Weir
    July 16th, 2007 at 21:25 | #12

    Tim – Just pre-ordered my copy from Amazon. Looks like it was meant to be published yesterday.

    Publisher: Pragmatic Bookshelf (July 15, 2007)

  13. August 18th, 2007 at 12:53 | #13

    I just ordered the book at amazon. I look forward to have it :) )

Comments are closed.