Bedtime Stories for Programmers

29 Aug 05:31

Beautiful Code - New book from O'Reilly

How do the experts solve near-impossible software development dilemmas? Renowned computer scientist Henry Warren offers this approach: "In learning chess, you are trained to look for certain patterns that occur frequently - the fork, the pin, the discovered attack. Similarly, the computer scientist should be trained to look for patterns - divide and conquer, using bit strings in various ways, simplifying a hard problem by first sorting, and so on."

Warren elaborates on his ideas in the new, highly anticipated, and soon-to-be-classic essay collection from O'Reilly Media, Beautiful Code: Leading Programmers Explain How They Think. The book is a compilation of thought-provoking essays by 38 pioneering software designers. The contributors strive to illuminate the artistry involved in coding, explain the tradeoffs made in application construction, and reveal when it's appropriate to break the rules. The writers' intent is revolutionary: They seek to rouse and inspire a new generation of coders by sharing their secrets for creating elegantly crafted software.

For example, contributor Andreas Zeller hopes to motivate coders to discover the beauty of systematic debugging. "In my own life as a programmer, there have been a number of moments when I encountered true beauty in debugging. These moments not only helped me solve a problem at hand, but actually evolved into new approaches to debugging as a whole."

Arun Mehta's essay, When a Button Is All That Connects You to the World, focuses on the solutions necessary to make technology useful to the physically challenged. "Disabled persons need to see software writing as a profession they have relatively easy access to. What better motivation than knowing that the software you write will radically change your life?"

Editors Andy Oram and Greg Wilson loved working on Beautiful Code, too. "The immersion in the work of superbly talented inventors proved to be inspiring and even uplifting," writes Oram. "It gave me the impulse to try new things, and I hope this book does the same for its readers.

If you're interested in software design, Beautiful Code needs to stay within arm's reach, whether tucked on a bedside table or near the computer. Coders of every skill level are sure to find stories to inspire and tales to ponder as they seek their own paths to creating beautiful code. All royalties are donated to Amnesty International.

To learn more about the diversity of Beautiful Code, descriptions of a few chapters follow.


The new beautiful code site gives the public the opportunity to discuss the book's projects and to contribute information about other projects that illustrate coding artistry. The site is designed to build community among new and experienced innovative programmers and designers who are inventing and creating elegant coding solutions now and in the future.

"We hope the book and website work together to promote novel and constructive attitudes toward the design and creation of computer programs," explained Andy Oram, co-editor of Beautiful Code. "We also hope programmers and designers worldwide will come and see what developers are saying about 'Beautiful Code,' and add their own insights."

In the popular new book, 38 legendary software engineers discuss their coding breakthroughs and masterpieces in a series of thought-provoking essays. The authors illuminate the creativity involved in coding, explain the tradeoffs made in application construction, and reveal when it's appropriate to break the rules. The writers' intent is to rouse and inspire a new generation of coders by sharing their secrets for creating elegantly crafted software.

The lead programmer for the Beautiful Code wesite is Michael Feathers, a popular author and expert in Agile Programming who contributed the chapter Framework for Integrated Test: Beauty through Fragility.

In a recent post, Feathers writes: "When I was a younger programmer, I felt guilty about being a neat-freak. It was a selective obsession. There I was, sitting in my office with stacks of papers and books covering every available space, but I was oblivious to it. As long as my code looked great, I could shut out the chaos around me: the towering stacks of dead tree that could've toppled and crushed me if I had sneezed."

Feathers continues, "I don't know why I felt bad about being that way, but in retrospect, I think that I felt that I was wasting time caring about neatness in code. It took me a couple of years to figure out that the ergonomics of code matter, and that the time you spend decluttering your code can declutter your thoughts as well."

For coders looking to join an ongoing conversation about their craft, the Beautiful Code wesite provides a welcoming forum to discuss the real-world challenges they face on the path to proficiency and beauty.

Related links: (Open in a new window.)
beautifulcode.oreillynet.com
www.oreillynet.com/pub/au/877

Taken from Information Security Bulletin.