Advertisement
Membership
Login
ACCU Buttons
Search in Book Reviews
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
I am less happy with the coding style that the author uses to present his material. In many places he relies on #define to 'simplify' his code. I put simplify in quotes because I need some convincing that such things as:
#define list_size(list) ((list)->size)offer much advantage to compensate for polluting your global namespace with lowercase pre-processor identifiers. Actually what much of the code does is to help me appreciate the advantages that C++ programmers have in this area.
My next reservation is that more than half this book is about data structures. If I had to do these in C I would first spend time on the subject of implementing abstract data types in C before going onto the detail of those structures I chose to cover.
At the end I was left wondering whether this book helps the reader to master programming algorithms and data-structures or just documents the author's library of implementations. If it were the former I would expect to feel confident (as a result of my reading) that I could design and implement some other algorithm or data- structure. However I have a distinct feeling that if I were not already capable of doing that, I would be struggling (badly) with understanding the author's implementations.
My feeling is that this book is best used as a thoroughly documented library with explanations of the implementations. I very much disagree with the back-cover claim that 'Anyone with a basic understanding of the C language can use this book'. You need to be a better than average C programmer to even use the provided implementations. I wonder just how many potential readers are left now that C++ and Java are so widely used.