[olug] C book recs

Christopher Cashell topher at zyp.org
Thu Nov 18 13:47:01 UTC 2004


At Wed, 17 Nov 04, Unidentified Flying Banana Eric Pierce, said:
> I'm looking to dig deep into C, and I want everyone's recommendations for
> texts.  

An excellent choice.  C can be a very rewarding and useful programming
language to know.  Before I can recommend any books, I need to know a
little more about where you stand.

Do you currently have any experience with C, or with programming in
general?  What programming/scripting languages have you used in the
past?

> Now do I need to focus on books after ANSI C was standardized on?  Wasn't that
> around 1998 or so?

There are basically three major versions of the C language.  The
original is the Pre-ANSI C, commonly referred to as K&R C (which was
never officially standardized, and is documented primarily in their
book, "The C Programming Language" (First Edition)).  In 1989, the C
language became an ANSI standard.  There were a number of significant
changes from K&R C, particularly with function declarations.  The last
major update to the C language came in 1999, when the C99 specification
was finalized.

The first thing I want to mention is that C99 is generally backwards
compatible with ANSI C.  Also, most of the changes that went into C99
are either minor changes, or additions/clarifications (a lot of it is
just officially recognizing common extensions to C, such as inline
functions).  They are of concern to an advanced programmer, but
meaningless to someone learning the language.

Another thing to remember is that there are very few, if any, compilers
which have fully implemented the C99 standard at this time.  Most
compilers still target ANSI C for primary support, since that is what
the vast majority of C code is written for.

Finally, despite the changes that C has undergone, C is still C.  K&R C
will still be quite recognizable, if slightly odd, to someone learning C
today.

> My wife has Deitel/Deitel's 'How to Program C' but the edition came out in
> 1994. I've also looked at O'Reilly's 'Practical C' 3rd edition, but it's from
> 1997.  So are these books not useful anymore?

Almost any book for sale today will cover ANSI C, or maybe C99
(remember, they are similar enough that if you compared two 20 chapter
books, one on ANSI C, one on C99, the first 16-18 chapters would likely
be identical) and will work just fine for you.

Without knowing more about your previous experience, I will note that by
far the best single C book I know of is "The C Programming Language",
Second Edition, by Brian Kernighan and Dennis Ritchie (Mr. Ritchie is
the creator of the C language, and Mr. Kernighan was a co-worker of his
at AT&T Bell Labs who worked with him).  However, it's a somewhat terse
book, and while it covers the C language very well, it is not an
"introduction to programming" book.  If you have a solid background in
programming already, there is no better book, though.  In fact, it is
not only the best C book I know, it's one of the best programming books,
period.

> Thanks for any input,
> Eric Pierce

-- 
| Christopher
+------------------------------------------------+
| Here I stand.  I can do no other.              |
+------------------------------------------------+




More information about the OLUG mailing list