by Addison-Wesley Professional
| Average Rating: |
|
| Sales Rank: | 783556 (lower is better) |
| Price as of: | 11/19/2008 11:07:50 PM MST |
| Price Used: | $7.31 |
| Shipping: | Free Shipping on most orders over $25* |
| Availability: | Usually ships in 24 hours |
| Label: | Addison-Wesley Professional |
| UPC: | 785342223910 |
| Pages: | 336 |
| Binding: | Paperback |
| Publication Date: | 2004-10-16 |
| Published By: | Addison-Wesley Professional |
| ASIN: | 0321223918 |
| Category: | Book |
Authors
Editorial Reviews and Product Descriptions
Product Description
Finding bugs and understanding what is really happening within code is a lostart. Only truly good programmers are able to emulate the processor in theirown mind (e.g. read the code and understand how it might work without goingto the trouble of running it). Adam Barr wonders how programmers aresupposed to build better programs if they do not know what is going on incode. The true pursuit of most software programmers is not creatingapplications from scratch; the reality of their day-to-day work is that theyusually have to deal with inherited code. This code, likely written by someoneelse, must be optimized, tweaked, and improved. Therefore, programmers whoare adept at reading, understanding, and improving code are in hot demand.These skills are drawn to the forefront with the help of this new book.This book is language-independent. The author borrows from his extensiveexperience at Microsoft Corporation and as an independent consultant to showhow programming skills can be honed by going through the exercise of findingthe bugs in existing code. By teaching programmers how to troubleshoot, it isthe author's belief that programmers will learn how to think like a programmer,and ultimately produce better software in a more timely fashion.
Customer Reviews
Going from language to language is of dubious benefit - Reviewed on 2005-03-30
13 customers found this review helpful, 1 did not.
While this book does something that I am in strongly in favor of, I don't agree with the approach. Barr presents a series of code segments that contain bugs and the reader is challenged to find the error(s). The bugs introduced into the code are fairly common, so finding them will be excellent practice for coders at all levels of experience. The segments of code are short, generally less than two pages, so finding the bugs does not require a great deal of searching.
The problem is that the programs are written in C, Python, Java, Perl and x86 assembly. If you are experienced in a particular language, then the bugs will probably not challenge you. However, if you are a novice in a language, the ten pages devoted to introducing the language will not be enough to get you up to speed. I have taught all of these languages and I found it difficult to shift from one language to another. The syntax differences between the languages are enough to confuse even people experienced in all of them. I am also unconvinced that finding bugs in a language you are not using and are unfamiliar with will make you a better programmer.
The general sequence of the bug presentations is:
*) A textual explanation of the problem.
*) The source code.
*) Suggestions of questions to consider.
*) Hints of operations to perform when stepping through the code.
*) Explanation of the bug(s).
Which is certainly a sound approach.
I dithered a bit when trying to settle on a ranking for this book, largely due to the multiple languages. In the end, I settled on three stars because I believe that if you go through this book, it is more likely that instead of doing a few things well, you will do many things poorly.
* - See Amazon
Product Page for shipping and pricing details.
Book Subjects
- Computer Programming
- Programming languages
- Computers
- Computers - Languages / Programming
- Computer Books: Languages
- Computers / Programming / Software Development
- Computers / Programming Languages / General
- Programming - Software Development
- Programming Languages - General
- Computing: Professional & Programming