Sebastopol, CA--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 ($44.99 US). 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
- Chapter 3, "The Most Beautiful Code I Never Wrote" by Jon Bentley suggests how to measure a procedure without actually executing it.
- Chapter 20, "A Highly Reliable Enterprise System for NASA's Mars Rover Mission" by Ronald Mak uses industry standards, best practices, and Java technologies to meet the requirements of a NASA expedition where reliability cannot be in doubt.
- Chapter 29, "Treating Code as an Essay" by Yukihiro Matsumoto lays out some challenging principles that drove his design of the Ruby programming language, and that, by extension, will help produce better software in general.
Andy Oram is an editor at O'Reilly Media and currently specializes in free software and open source technologies. He also writes articles on technology trends and researches user communities.
Greg Wilson holds a Ph.D. in Computer Science from the University of Edinburgh and has worked on high-performance scientific computing, data visualization, and computer security. He is the author of Data Crunching and Practical Parallel Programming (MIT Press, 1995), and is a contributing editor at Doctor Dobb's Journal, and an adjunct professor in Computer Science at the University of Toronto.
Beautiful Code: Leading Programmers Explain How They Think
Edited by Andy Oram, Greg Wilson
ISBN : 0-596-51004-7, $44.99 USD
O’Reilly Media spreads the knowledge of innovators through its books, online services, magazines, and conferences. Since 1978, O’Reilly Media has been a chronicler and catalyst of cutting-edge development, homing in on the technology trends that really matter and spurring their adoption by amplifying “faint signals” from the alpha geeks who are creating the future. An active participant in the technology community, the company has a long history of advocacy, meme-making, and evangelism.