Updates
Latest Tweet
What's New?
Check out for latest innovation, a computer based training video collection
Like this Page
Find the Bug: A Book of Incorrect Programs Review by Charles Ashbacher
Going from language to language is of dubious benefit
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.