Slashdot Mirror


C

Craig Maloney submitted this review of Addison-Wesley's entry in the tough field of books on C (book title: C), and pulls no punches in comparing it to others. He says it's slightly above average, but that "experienced programmers will likely pass on this book." Read the complete review below for his reasoning. C (Addison-Wesley Nitty Gritty Programming Series) author Klaus Schr�der pages 400 publisher Addison-Wesley rating 5.5 reviewer Craig Maloney ISBN 0-201-75878-4 summary A slightly better than average C book with some very good points, but poor delivery.

Lost in the Company of Giants

It's hard not to take a book like C and compare it to such acclaimed and trusted books as K&R, Expert C Programming, and other lesser known, but equally good tomes. Unfortunately C doesn't really compare with many of the other classic books covering the C language. For starters, the writing in this book isn't quite up to the same caliber as the other books. Part of the problem with this book is language. English does not appear to be the author's native language. There are sentences in this book that require a few glances to glean the full meaning. C is difficult enough to present without a language barrier introducing more problems. Another problem is organization. The ideas presented at the beginning of the book are muddled and disjointed, with multiple ideas introduced but not formally explained until later. Beginners will have a terrible time working through this book without becoming quickly confused, and experienced programmers will likely pass on this book in favor of the other well-known books.

Not All Bad

The book is not all bad, however. The examples in the book are plentiful and are based on tried-and-true examples found in books like K&R. There are some idioms that are used in the examples that will irk the more structured programmers (not using braces in certain areas being the biggest example), but most of the examples are pretty good. Also, the explanations of the more advanced topics are relatively good considering how confusing the more basic material is. Memory management is explained well, with clear diagrams (although the programs are a bit confusing without a careful eye).

So What's in it for Me?

Addison-Wesley is clearly marketing this book to the same crowd that purchases quick-learning books. Unfortunately beginners purchasing this book will quickly find themselves lost amid the confusing descriptions in this book. Those who manage to muddle through will find some tasty bits of information locked inside, but the work involved in getting there outweighs the rewards. Most programmers will probably want to leaf through a copy of this book before purchasing it to make sure they'll get the most out of it.

You can purchase C from Fatbrain. Want to see your own review here? Just read the book review guidelines, then use Slashdot's handy submission form.

2 of 299 comments (clear)

  1. Rule of Thumb by pizen · · Score: 5, Interesting

    One of my CS profs (Georgia Tech people probably know who I'm referring to) gave the class advice on buying a C book: Flip through the book. If malloc isn't covered, put it back. If malloc is covered in an appendix, put it back. If the book contains the line cp=realloc(cp,n); then "burn it! Burn it right there in the store! Burn all of them!"

  2. Re:Quick Learning by Uberminky · · Score: 5, Interesting

    I'd tend to agree with you on this one. I understand his points, and perhaps another language should be used at the very beginning. I started out on HyperTalk (the scripting language of HyperCard -- that was the coolest toy I had as a kid), learned Pascal (because that was what they taught)... and then FINALLY learned C. This may sound silly but it was a breath of fresh air to me. Everything made sense, everything could be explained in terms of this. The special cases were all gone. Sure, some things were more work, but I learned so much from C in that 10th grade class. I really feel it has helped me have an edge over many of my college peers. Heck, I would've loved to learn assembly language first. I'm having a blast with it now, in embedded systems. It's doing the same thing that C once did for me, simplifying it down to what's REALLY going on, deep down on the metal, so that I truly understand it. One architecture may go out of date, but you can learn just as much from PDP-11 assembly as you can from Lisp today, they're just in different fields. My fifteen cents.. ;)

    --

    The streets shall flow with the blood of the Guberminky.