Joined: 04 Mar 2003
|Posted: Mon Feb 02, 2004 4:35 pm Post subject: Book Review - The Joy of C
The Joy of C
Author(s): Lawrence H. Miller, Alexander E. Quilici
Book Specifications: Soft-Cover, 788 pages
User Level: Intermediate/Advanced
Suggested Publisher Price: $70.95 USA/ $94.95 CAN/ £45.84 Net UK (inc of VAT)
Amazon.co.uk: The Joy of C
Amazon.com: The Joy of C
Info from Back: "You could spend a lot of time looking around for the right guide to C and C++. Or you could just go ahead and buy the one you’re holding right now…and get a head start on experiencing the joy of C programming! This step-by-step companion takes you on a journey from novice to expert C programmer. It shows how exactly to write clear, concise C programs that are portable, efficient, and easy to maintain. Plus, you’ll find hands-on, detailed coverage of C++ and objects, one of the most popular and flexible programming languages in use today!”
To the vast majority of computer users programming is an unknown field of endeavor. For one to advance one’s knowledge beyond the normal usage of day to day computing it is inevitable that you will need to learn programming. There have been countless arguments as to which language is best to learn first. I firmly believe that learning C should be your first priority. If you can learn in C’s unforgiving environment then you can learn any other language out there.
This book is written with the assumption that you have some prior programming experience behind you. It is not impossible to learn C as your first language, but only that this book assumes you have prior programming experience. Even for someone who is already familiar with C this book will teach them something new such as optimizing your code. This book has a little something for all experience levels, but is aimed at someone who is already comfortable with programming syntax.
Content & Overview
Subject matter for this book is split up over six different parts beginning with Part I, which is an introduction to C itself. It is in this chapter that you will do the standard “Hello World” program with a twist. Within Part I of this book you will be introduced to such basics as producing output, performing simple arithmetic, learn how to compile, and link programs. This part wraps up with a look at functions, parameter passing concepts, and return values amongst other topics.
In Part II of the book new subject matter is introduced fast, and furiously. Building upon the first part of the book it now delves deeper into input and output. Further explored as well are character and integer as data types. Chapter 5 deals mostly with “char” as it has up until now been largely ignored as “int” has been primarily used prior to this. Covered here are “getchar” and “putchar” which are the equivalents of “printf” and “scanf” for char data types.
Part III of the book now goes into the often confusing subject of pointers, and arrays. Shown as well is the relationship between the two, and the various types of the two. Though every part of C is important to learn this discussion of pointers, and arrays are very much crucial to fully understand C and write functional code.
Covered in Part IV is advanced program structure. What does that mean you ask? Well at this point pre-processor’s such as #include and #define and others ones are discussed in detail. Macro’s are gone into further as well here and their relationship, usage with pre-processors. The end of this part then covers generic functions and then complex declarations.
Real world programming issues are covered in Part V of the book. Advanced topics such as dynamic data structures, specifically stacks, queues, and trees are gone over. Discussed as well are common portability problems followed by some solutions by the authors themselves.
At the end of the book shown in Part VI is how to cross over from C to C++. You will see some of the features of C++ and how they can complement the C coders programming objectives. Presented here as well is inheritance, polymorphism, and dynamic binding. To see a table of content for this book please click here.
Style and Detail
The technical content of this book is above reproach. What I did not like about it though is it's style, and delivery. When it comes to books about programming I expect to see a lot of code snippets or programs in their entirety. This book however had code snippets everywhere, which I found distracting. I would of much preferred to have seen 2 or 3 pages of text dissecting an entire program or module. While some may like this approach I simply found it annoying. Bear in mind though that this is a personal preference.
One nice touch is that the code snippets themselves are in bold which makes it very easy to see, and distinguish from the regular print. Another complaint I have though is the inclusion of the good code and bad code examples. Why you would include an example of bad, and or messy code I just don’t understand. Better off to leave it out completely in my opinion then run the risk of the reader inadvertently retaining some of it. Included in the book as well is a floppy diskette with all of the books code on it. This comes in handy as a quick reference should one need it.
The author’s expertise in C is never in question throughout this book, nor are the books contents. What I did not like at all though is the books layout as alluded to above. This books biggest weakness in my opinion is in it’s flow and delivery. Nor did I find that the overabundance of code fragments really help. The book is still worthwhile purchasing though, as other readers may very well like the aspects I found irritating.
This book gets an SFDC 6/10 from me
Keywords for this post: The Joy of C
This review is copyright 2004 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.