Joined: 04 Mar 2003
|Posted: Sun Feb 20, 2005 11:05 pm Post subject: Book Review - C The Complete Reference 4th Edition
C The Complete Reference 4th Edition
Author(s): Herbert Schildt
Publisher: Osborne McGraw-Hill
Book Specifications: Soft-Cover, 805 Pages
User Level: Novice to Advanced Programming
Suggested Publisher Price: $39.99 USA/ $57.95 CAN/ £24.99
Amazon.co.uk: C The Complete Reference
Amazon.com: C The Complee Reference
Info from Back: "A new ANSI/ISO standard for C, called C99, has been recently adopted and Herb Schildt, the world’s leading programming author, has updated and expanded his best-selling reference on C to cover it. Whether you are a beginning C programmer or a seasoned pro, the answers to all your C questions can be found in this one-stop resource. In this authoritative guide, Schildt details the C language, its libraries, and applications, providing insider tips, hundreds of examples, and expertly crafted explanations. As a special bonus, the book concludes by developing a C interpreter, which you can use as-is or expand on your own! And just as you’d expect, everything is presented in the clear, concise, uncompromising style that has made Herb the choice of millions.”
Learning how to program can be a daunting task. Whether it be self-taught, or learnt in a classroom. Part of the learning curve is in understanding the many different parts of the language. To that end one usually ends up consulting the man pages. Problem with that is most people prefer a physical reference such as a book. This volume fits the bill quite nicely, and is a rather hefty one at that. I normally will consult the man pages myself, but for some questions that I had, I found them insufficient. There was for me as a novice C programmer a lack of examples. So the need for a complete reference on C was rather apparent to me. Learning is a very personal thing, and the approach differs from person to person. One thing that is universal though is the benefit of a reference book.
Content & Overview
This book is broken down over six parts, which in turn are composed of twenty nine chapters. It was with surprise that I saw the first chapter was a high level overview of the C language itself. For a high level overview it still contains some excellent information about the language itself. Included is a page or two on the difference between compilers, and interpreters. I was left rather mystified some time ago when a PERL programmer thought that the PERL language was compiled vice being interpreted, which it is. To that end the actual linking, and compiling of a C program is also touched upon. Rounding out this rather informative chapter was a quick blurb on the differences between C, and C++.
Following on the heels of the first chapter is information and examples of C expressions. One of the specific topics covered is local, formal, and global variables. Just what are they and how are they used. Seen as this is a reference there is plenty of sample code to illustrate the point at hand. Another key concept detailed and shown are C statements. To whit; if, switch, for, and the while statement are covered. Not only are sample code snippets shown, but a brief explanation of the syntax is given.
One of the hardest parts in understanding C is the use of arrays, strings, and the all important topic of pointers. Many C programmers I know will say that if you can understand pointers you have mostly won the battle when it comes to learning C. Though the coverage of arrays is a little thin in my opinion it is to the point. Also one needs to remember that this is a reference, and not a self-learning book.
After this is one area that I recently had trouble with myself recently. The usage of argc and argv is covered in the Functions chapter. Though I got an answer to my question from capi one of our resident alpha geeks aka programmer I wish I would have had this book when I got stuck. Several examples of argc and argv usage are clearly laid out to learn from. Another key topic closely following functions is console I/O, as exemplified by printf() and scanf(). It only makes sense to then have file I/O after console I/O. Usage like fopen(), getc(), putc(), fputs(), and fgets() receive attention from the author. I won’t attempt to cover even briefly all of the books contents, but would suggest you check here for a complete listing.
Style and Detail
The first thing I noticed about this book was the fact that for such a lengthy book the paper quality was very good. Not too thin or wispy, which can often be the case for big books. As befits a reference book there is a large amount of code snippets. There is also a minimum of distraction in the book color wise that is nice. Some books have a page layout scheme that can be distracting when read. In the case of this book it has a nice clean feel to it. Overall a rather good job was done in formatting this books contents while taking into account its subject matter.
Though this is billed as a complete reference for the C programming language I would say it is that, and much more. The author has done an excellent job of writing about a topic, which can be very dry. Interspersed with code snippets, are clear explanations of what is being addressed at that point. Being clear about syntax in C though can be difficult to say the least, but it is done quite well in this case. From my perspective as a novice C programmer I highly recommend this book, as the complete reference that it claims to be. With this in mind the book gets an 8 out of 10.
Security Forums Discount
The publishers Mcgraw Hill have kindly setup a discount section for Security Forums' users. Discounts can be up to 30% off the RRP and postage is free on all orders over £20 in the UK & Central Europe.
Keywords for this post: C The Complete Reference 4th Edition
This review is copyright 2005 by the author and Security-Forums Dot Com, and may not be reproduced in any form in any media without the express permission of the author, or Security-Forums Dot Com.