<< 1 >>
Rating: Summary: Rich with wisdom Review: I admit that I bought this book fully expecting to be "underwhelmed." Instead, I was pleasantly surprised as to how much this work had to offer.They begin the book with this interesting premise: "One of the groups that is likely to discount this book is the system architects camp, although they are the ones that are most likely to be aided by understanding the root causes of bugs and how they can be avoided." After reading this (which appeared on page 6) I decided to mark each page that contained an important architectural-level observation or recommendation. By the end of the book, I had nearly 40 such pages identified! The work is well researched with good references and footnotes. It is also rich with real-world examples of horror stories and debugging nightmares. I found myself filling the margins with recollections of my own, similar experiences. The book is not without faults. There seems to be a great deal of repetition and there were several points where I wished the book had been more carefully edited. I didn't agree with everything presented and I think they actually got a couple of things completely wrong. Finally, there is at least one puzzle presented where the authors challenge you to "find the bug" where even their answer wasn't complete! [See page 307--an exercise for the reader.] The author's aim was to discuss debugging but the book contained as many Software Engineering observations as general debugging tips. I believe that these general observations and recommendations strengthen the work considerably. Any college course in Software Engineering would benefit by including this book as required reading. Any project lead organizing a new product development effort should take an hour and skim though this book again (after an initial, careful reading). Finally, any programmer who wishes to build for debug-ability would do well to review this work. The book's one sentence synopsis comes directly from the authors (page 109) "One of the most critical (and most overlooked) aspects of debugging is to understand why bugs occur and where they come from." I agree. This book does a marvelous job to address that and much more. I highly recommend it.
Rating: Summary: Rich with wisdom Review: I admit that I bought this book fully expecting to be "underwhelmed." Instead, I was pleasantly surprised as to how much this work had to offer. They begin the book with this interesting premise: "One of the groups that is likely to discount this book is the system architects camp, although they are the ones that are most likely to be aided by understanding the root causes of bugs and how they can be avoided." After reading this (which appeared on page 6) I decided to mark each page that contained an important architectural-level observation or recommendation. By the end of the book, I had nearly 40 such pages identified! The work is well researched with good references and footnotes. It is also rich with real-world examples of horror stories and debugging nightmares. I found myself filling the margins with recollections of my own, similar experiences. The book is not without faults. There seems to be a great deal of repetition and there were several points where I wished the book had been more carefully edited. I didn't agree with everything presented and I think they actually got a couple of things completely wrong. Finally, there is at least one puzzle presented where the authors challenge you to "find the bug" where even their answer wasn't complete! [See page 307--an exercise for the reader.] The author's aim was to discuss debugging but the book contained as many Software Engineering observations as general debugging tips. I believe that these general observations and recommendations strengthen the work considerably. Any college course in Software Engineering would benefit by including this book as required reading. Any project lead organizing a new product development effort should take an hour and skim though this book again (after an initial, careful reading). Finally, any programmer who wishes to build for debug-ability would do well to review this work. The book's one sentence synopsis comes directly from the authors (page 109) "One of the most critical (and most overlooked) aspects of debugging is to understand why bugs occur and where they come from." I agree. This book does a marvelous job to address that and much more. I highly recommend it.
Rating: Summary: Not as helpful as it could be Review: In reading the book, there were many great platform idependant ideas for debugging applications. I think it would have been more helpful if the book would have at least cursorily implemented some of those ideas in code (my preference being C/C++). Some examples of what I mean are it says that one of the oldest ways of debugging applications use a log. It even goes to say what elements to include to make it as useful as possible. I think it would have been better to include the code implementing a logger they describe.
Rating: Summary: Not as helpful as it could be Review: In reading the book, there were many great platform idependant ideas for debugging applications. I think it would have been more helpful if the book would have at least cursorily implemented some of those ideas in code (my preference being C/C++). Some examples of what I mean are it says that one of the oldest ways of debugging applications use a log. It even goes to say what elements to include to make it as useful as possible. I think it would have been better to include the code implementing a logger they describe.
<< 1 >>
|