Software Development
BOOKS: GENERAL
Glenn Bisignani, Product Marketing Manager
|
Head First Design Patterns
Elisabeth Freeman, Eric Freeman, Bert Bates
and Kathy Sierra
(O'Reilly, 2004)
You know that old, cynical saying, "Those who can, do; those who can't, teach"? Rubbish. Teaching is a gift, as anyone who has ever been inspired by a brilliant mentor knows, and the Head First series created by Kathy Sierra and Bert Bates is an iridescent example of how to turn complex theory into life-changing action. A tremendous homage and adjunct to the Gang of Four's classic Design Patterns, Head First Design Patterns is written, appropriately enough, by a team of two elite subject matter experts (Elisabeth Freeman and Eric Freeman) and two masters of metacognition (Sierra and Bates). This work easily enters that small canon of visually and intellectually stimulating books that include Edward Tufte's The Visual Display of Quantitative Information and Steve Krug's Don't Make Me Think.
Chapter 1 leads you oh-so-craftily into a perfect understanding of the Strategy patternas with all good teaching, you don't realize you've learned it until the very end, along with new insights into the limitations of inheritance. Before you know it, two chapters later, you've mastered the Observer and Decorator patterns, too. But the book doesn't just iterate through the patterns until you've gotten them; it's packed with exercises, visual humor, clever games and sidebars that keep the conversation between this book and your brain going. Finally, the pragmatism behind Head First Design Patterns is ever-present, culminating in tips on how to communicate patterns to others and define your own. For once, your brain is begging you: Read this book!
Alexandra Weber Morales
Productivity Award Winners |
Joel on Software A coherent collection of essays (initially published on his eponymous blog) about managing software development and making money from the results, Joel on Software is one man's idiosyncratic, occasionally cantankerous take on our business. From the famous 12-step "Joel Test" for evaluating development teams ("Do you use version control? Do you run daily builds?") to his indictment of the process mavens in our industry, Spolsky delivers his opinions in an erudite, closely reasoned and wickedly funny style that will surely stimulate your thoughts and cause you to question your assumptions, even when you disagree.
What's most unusual about Joel is how he manages to promote his own company and products to such a loyal and accepting audience. Executives at Sun and other big ISVs, take note: If you want blog readers, you've got to dish the way Joel does! To everyone else: Get the book, curl up in a chair, and enjoy yourself.
Rick Wayne |
Refactoring to Patterns The Gang of Four gave us Design PatternsRefactoring, and Joshua Kerievsky unites the two in Refactoring to Patterns, with a clear explanation of their relationship and combined potential.
Extreme Programming teams incorporate refactoring, the practice of refining code to make it clearer and more maintainable, as part of their daily routine. To remove "code smells," you must refactor with a purpose, and Kerievsky takes a purposeful look at the types of refactoring you might make, showing you how to implement design patterns in your approach. Expert programmers do this instinctively, but Refactoring to Patterns is for the rest of us.
This thought-provoking book will change the way you approach both your initial design and refactoring: Every software developer should have Refactoring to Patterns on their bookshelves.
Gary Pollice |
Software Factories "This book may be the one we look back on to say 'Wow, they had it right, way back in 2004.'" This comment from our judging discussion precisely captures the ambivalence that kept Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools from taking the top award. On one hand, we agreed that Greenfield et al. were on to something important. What split the field was the feeling of how important software factoriessets of integrated tools, process and content assets used to accelerate lifecycle tasks for a specific type of software componentwill be. Some felt that factories will become a major concept in corporate development; others felt that the book didn't make the case. Certainly, architects and technical leads with an interest in Microsoft's strategy will find this book compelling. Those hoping for a platform-neutral advocacy remain unconvinced.
Larry O'Brien |