home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / lang / c / 19533 < prev    next >
Encoding:
Internet Message Format  |  1993-01-11  |  11.6 KB

  1. Path: sparky!uunet!bigmax!folsom
  2. From: folsom@bigmax.UUCP (Al Folsom)
  3. Newsgroups: comp.lang.c
  4. Subject: C Book Bibliography
  5. Keywords: Books
  6. Message-ID: <579@bigmax.UUCP>
  7. Date: 11 Jan 93 13:48:02 GMT
  8. Organization: Fischer & Porter Co., Warminster, PA.
  9. Lines: 271
  10.  
  11. I recently received email from Kevin Cole at Galluadet regarding
  12. recommendations for C books, and all my email to him has bounced
  13. back.  Since several other people have also asked recently about 
  14. C Books, I guess I'll repost the following bibliography I put to
  15. gether for a C course I've been teaching.
  16.  
  17. It's due for revision.  Particularly, I understand the Standard
  18. no longer includes the Rationale.  A pity.  Also, I'm looking at
  19. a new textbook, "The Joy of C" published by John Wiley, which 
  20. looks like it has lots of good examples which come on a disk with
  21. the book, although the organization is a bit disjointed.  
  22. Unfortunately, my copy is at home, I don't have the authors' names 
  23. handy.
  24.  
  25. Kevin, I hope this finds you, and is of some use to others on the net.
  26.  
  27. Al F.
  28. +-------------------------------------------------------------------+
  29. | Al Folsom                 | Object Oriented Programming?  We've   |
  30. | Fischer & Porter Co.      | been doing that for years...          |
  31. | ...uunet!bigmax!folsom    |                                       |
  32. | also folsom@decus.org     | When the customer objects to the way  |
  33. | KY3T@WA3TSW (Ham)         | it works, we go program some more!    |
  34. +-------------------------------------------------------------------+
  35.  
  36.  
  37. *********************************************************************
  38.  
  39.  
  40. The  following  is  an  annotated  bibliography  of  books  relating  to  C
  41. programming.   The  criteria for inclusion here are twofold.  First, I have
  42. looked for texts which relate to C  programming  in  general,  rather  than
  43. being  specific  to graphics programming, Unix system programming, or what-
  44. have-you.  Many texts are available about C and some special topic,  you're
  45. on  your  own  for  those.  Second, I believe that all these books are well
  46. written, accurate, and useful.  Most of them I have reviewed myself, a  few
  47. are  included  because  of  strong  recommendations  received from multiple
  48. sources.  I have not included works regarding C++,  which  is  an  entirely
  49. different list.  Comments, modifications, or questions are always welcome.
  50.  
  51. Al Folsom
  52. 18 August 1992
  53.           _______________________________________________________
  54.  
  55.  
  56.  
  57.                               C BIBLIOGRAPHY
  58.  
  59.  
  60.                             INSTRUCTIONAL BOOKS
  61.                                     ---
  62.  
  63.  
  64. The following three texts are written for experienced  programmers,  or  at
  65. least for people who already "think" like programmers.
  66.                                     ---
  67.  
  68.  
  69. [ ] "The C Programming Language" (1st ed.)
  70.     Brian W. Kernighan & Dennis Ritchie
  71.     1978, Prentice Hall ISBN: 0-13-110163-3
  72.  
  73.     This was the first, and for many years the only, text on C.  Written by
  74.     the  authors  of  the  language,  it  was  the  cornerstone  of early C
  75.     development and is still humorously referred to as "The Old Testament."
  76.     Although  it is available in many bookstores, it is now drastically out
  77.     of date.  The  only  reasons  for  purchasing  it  at  this  point  are
  78.     historical  interest, or a job which requires maintaining some very old
  79.     software.
  80.  
  81.  
  82. [ ] "The C Programming Language" (2nd ed.)
  83.     Brian W. Kernighan & Dennis Ritchie
  84.     1988, Prentice Hall ISBN: 0-13-110362-8
  85.  
  86.     This ("The New Testament") is the updated version of the  original  K&R
  87.     (Kernighan  &  Ritchie)  text,  and  can  be distinguished by the words
  88.     "Second Edition" and "ANSI C" on the cover in  red.   It  includes  the
  89.     modifications  incorporated  by  the ANSI standard, while retaining the
  90.     nature of the 1st edition.  If you are building a library of  C  books,
  91.     this is the first one you should get.
  92.  
  93.  
  94. [ ] "C A Reference Manual" (3rd ed.)
  95.     Samual P. Harbison & Guy L. Steele Jr.
  96.     1991, Prentice Hall.  ISBN: 0-13-110933-2
  97.  
  98.     This text is widely used in industry as both a  text  and  a  reference
  99.     manual  for  C  programmers.   It is somewhat more verbose than the K&R
  100.     book, and also makes an effort to cover both ANSI and "traditional"  C.
  101.     A  particularly  good  point  of  this book, in my opinion, is that the
  102.     authors point out concerns relating to C implementations for  different
  103.     computers  or  operating  systems.   It  also has a section on the ANSI
  104.     standard library functions.  If you are new to programming,  this  text
  105.     might be a bit overwhelming.
  106.  
  107. The remainder of the books  in  this  section  are  oriented  more  towards
  108. instruction, and less experienced programmers, than the above three titles.
  109.                                     ---
  110.  
  111.  
  112. [ ] "C A Software Engineering Approach" (2nd ed.)
  113.     Peter A. Darnel & Phillip E. Margolis
  114.     1991, Springer Verlag  ISBN: 0-387-97389-3
  115.  
  116.     Despite a few misprints, this is an excellent textbook  for  C.   Major
  117.     differences  between ANSI and Pre-ANSI C are highlighted in large, hard
  118.     to miss boxes.  Also highlighted in boxes are common bugs which afflict
  119.     both  experienced  and  inexperienced  C programmers.  These boxes then
  120.     have  their  own  index.    Particularly  nice   features   include   a
  121.     diagrammatic  syntax  for  the  C language, a section on implementation
  122.     limits, a listing of ANSI/K&R differences, a good, easy to read section
  123.     on  the  standard  library,  and  finally  a  section  on good software
  124.     engineering (which many C students could use).  The last is accompanied
  125.     by the source for a C interpreter, which is great example software.
  126.  
  127.  
  128. [ ] "A Book On C" (2nd ed.)
  129.     Al Kelly & Ira Pohl
  130.     1990, Benjamin Cummings  ISBN:0-8053-0060-0
  131.  
  132.     A more chatty book than many others, this book includes  more  examples
  133.     and more detailed explanations than the texts above.  The basics of the
  134.     language are covered, as well as techniques such as  linked  lists  and
  135.     trees.  Some specifics for MSDOS and UNIX are covered.
  136.  
  137.  
  138.  
  139. [ ] "The Waite Group's New C Primer Plus"
  140.     Mitchell Waite and Steven Prata
  141.     Howard W. Sams & Co.  ISBN: 0-672-22687-1
  142.  
  143.     This has been highly recommended  as  a  readable  introduction  to  C,
  144.     especially  for  those  without  a  programming  background.   It steps
  145.     through the basics with clear discussions and many examples.
  146.  
  147.  
  148. [ ] "Programming in ANSI C"
  149.     Kochan
  150.     Hayden Books  ISBN: 0-672-48408-0
  151.  
  152.     Another book  with  multiple  recommendations  as  being  an  excellent
  153.     introductory text with frequent examples and good text.
  154.  
  155.  
  156.  
  157.                                 REFERENCE BOOKS
  158.                                       ---
  159.  
  160.  
  161. [ ] "American National Standard for Information Systems -
  162.     Programming Language - C"
  163.     ANSI X3.159-1989
  164.     1990, American National Standards Institute
  165.  
  166.     This is the official standard for the C language, completed by ANSI  in
  167.     1989.   For  language  lawyers,  this  is  THE  source.   Of particular
  168.     interest  is  the  rationale,  published  with  the  standard  but  not
  169.     officially  part  of  it.   The rationale explains the reasoning behind
  170.     many of the decisions taken by the committee, giving  an  insight  into
  171.     the standards making process.
  172.  
  173.  
  174. [ ] "Standard C"
  175.     P.J. Plauger & Jim Brodie
  176.     1989, Microsoft Press  ISBN: 1-55615-158-6
  177.  
  178.     This is a complete and inexpensive pocket reference  to  the  language.
  179.     It  includes  all standard features, the standard libraries, and a good
  180.     section on portability.  It could use a better index, but at $7.95 is a
  181.     bargain as a reference.
  182.  
  183.  
  184. [ ] Your compiler's documentation.  You do have this, don't you?   It  came
  185.     in the same box as the disks.  This should be your primary resource for
  186.     questions which are specific to your compiler.  Remember,  topics  such
  187.     as  how  you  run the debugger, how you draw circles on the screen, how
  188.     you create libraries, and how the editor works have little  or  nothing
  189.     to  do  with  the  C language per se.  Check your own documentation for
  190.     this stuff!
  191.  
  192.  
  193. [ ] Turbo C/C++ the Complete Reference
  194.     Herbert Schildt
  195.     1990, McGraw Hill  ISBN: 0-07-881535-5
  196.  
  197.     If you MUST buy a manual specific to  a  particular  C  implementation,
  198.     they are available.  This book, for example, covers in great detail the
  199.     implementation and extensions to standard C included in Borland's Turbo
  200.     C  package.   Also included are explanations of the Turbo C development
  201.     environment.  Beware:  This is neither a good  textbook  (there  is  no
  202.     discussion  of  strings, for instance), nor is it a good description of
  203.     standard C.  Borland specific functions are intermingled with  standard
  204.     library functions, and you must really dig to determine the difference.
  205.     Given these caveats, it is a reasonable reference to have on your desk.
  206.     Similar books exist, I'm sure, for most C environments.
  207.  
  208.  
  209.  
  210.                               MISCELLANEOUS BOOKS
  211.                                       ---
  212.  
  213.  
  214. [ ] "The Standard C Library"
  215.     PJ Plauger
  216.     1992 Prentice Hall  ISBN: 0-13-131509-9
  217.  
  218.     Presents, justifies, and explains a complete implementation of the ANSI
  219.     libraries.   If  you understand the language, but want more information
  220.     on the standard libraries, this is the place to look.
  221.  
  222.  
  223. [ ] "C Traps & Pitfalls"
  224.     Andrew Koenig
  225.     Addison-Wesley  ISBN: 0-201-17928-8
  226.  
  227.     An excellent book, describing many of the programming errors common  in
  228.     the C community.  If you want your programs to work because the code is
  229.     correct, rather than just through luck or trial and error, this is  the
  230.     book to read.
  231.  
  232.  
  233. [ ] C Programming Guidelines (2nd ed.)
  234.     Thomas Plum
  235.     1989, Plum Hall Inc.  ISBN: 0-911537-07-4
  236.  
  237.     This is a description of programming standards for C.  It is formulated
  238.     as a series of manual pages, each dealing with a separate issue.  While
  239.     it makes for rather dry reading, it is a good starting point for either
  240.     someone  new  to  C style, or someone developing a C standard for a new
  241.     project.  For corporate accounts, the manual  pages  are  available  in
  242.     electronic  form from the publisher, should you wish to include them in
  243.     your own company standard.
  244.  
  245.  
  246. [ ] "The C Puzzle Book" (2nd ed.)
  247.     Alan R. Feuer
  248.     1989, Prentice Hall  ISBN: 0-13-115502-4
  249.  
  250.     Discusses C from  the  viewpoint  of  "what  does  the  following  code
  251.     produce?"   Lots  of  interesting and testing puzzles, with answers.  I
  252.     have not yet read the second edition, but assume it is similar  to  the
  253.     first, updated for ANSI C.
  254.  
  255.  
  256. [ ] "Numerical Recipes in C"
  257.     Press, Flannery, Teukolsky, & Vetterling
  258.     1988, Cambridge University Press  ISBN: 0-521-35465-X
  259.  
  260.     This is a real tome!  Most  C  projects  do  not  center  around  heavy
  261.     numerical  calculations,  but if you need to do that type of work, this
  262.     book can be invaluable.  Be warned, though, this is not light  reading!
  263.     A  companion volume of the example code is available, as are disks with
  264.     the software.
  265.  
  266.  
  267. [ ] "Indian Hill C Style and Coding Standards"
  268.     Cannon, Elliott, Kirchoff, Miller, Milner, Mitze, Schan, Whittington
  269.     1990, Bell Labs
  270.  
  271.     This is not a book, but a paper by the  above  authors.   Modifications
  272.     have  been  made  by  Henry Spencer, David Keppel, and Mark Brader.  It
  273.     recommends a specific coding style for C programs, and has been  widely
  274.     accepted  in  the  C community.  If you program to conform to the style
  275.     recommended here,  you  will  not  only  be  in  step  to  the  largest
  276.     percentage of the C world, but will be using a style designed to reduce
  277.     errors and encourage portability.  Not published in a formal sense,  it
  278.     is  freely  distributed,  and is available from a variety of sources in
  279.     electronic form.
  280.  
  281.  
  282.