home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / lang / c / 16373 < prev    next >
Encoding:
Text File  |  1992-11-11  |  14.4 KB  |  390 lines

  1. Newsgroups: comp.lang.c
  2. Path: sparky!uunet!mcrware!tim
  3. From: tim@microware.com (Tim Wilson)
  4. Subject: Re: HELP ON C BOOK
  5. Message-ID: <1992Nov11.183616.23202@microware.com>
  6. Sender: news@microware.com
  7. Nntp-Posting-Host: vite
  8. Organization: Microware Systems Corp., Des Moines, Iowa
  9. References: <1992Nov7.020947.6467@usl.edu> <BxBusy.Ept@nic.umass.edu>
  10. Date: Wed, 11 Nov 1992 18:36:16 GMT
  11. Lines: 377
  12.  
  13. In article <BxBusy.Ept@nic.umass.edu> jeff@titan.ucc.umass.edu (DarkShadow) writes:
  14. >In article <1992Nov7.020947.6467@usl.edu> cs460129@ucs.usl.edu (Martinez Velez Jose Carlos) writes:
  15. >>I'm trying to learn c and I wonder if anyone out there knows a good to 
  16. >>learn c. I already know pascal and modula-2, so if anyone knows of a book
  17. >>relating any of this language to c, please sent me e-mail...
  18. >>
  19. >>
  20. >>       E-mail: cs460129@ucs.usl.edu
  21. >>                      or
  22. >>                  fjl0014@usl.edu
  23. >>
  24. >>
  25. >I would be interested in this info as well.  If anyone would like to
  26. >include my name on their mailing list, that would be great.  Thanks a
  27. >lot.
  28. >
  29. >  -Jeff
  30. >
  31. >-- 
  32. >Jeff Zabek                email:  jeff@titan.ucc.umass.edu
  33. >Computer Science Department            gencon07@titan.ucc.umass.edu
  34. >University of Massachusetts
  35.  
  36.  
  37. Well, since I have already mailed this to about 5 other people, I
  38. decided to post it.  This is a compilation of replies from when people
  39. asked for good books on this news group.  Unfortunately, I do not have
  40. much knowledge with most of them, so I can't really recommend one over
  41. another (Except K&R of course :-)).  I can't claim any sort of
  42. completeness, this was just as people suggested books, I added it(them)
  43. to the list.  In case of duplicate entries, I merged the two together. 
  44. There were several that had several recomendations (sorry, didn't keep
  45. the number of recomendations per book).  By the way, each post is
  46. seperated by a '--'.  Any way, here is the list:
  47.  
  48. Binary Trees:
  49.     Data Structures and Program Design in C
  50.     Kruse, Leung, Tondo
  51.     Prentice Hall
  52.     It's a rewrite of Kruse's "Data Structures and Program Design",
  53.     originally in Pascal. 
  54.  
  55.     Data Structures Using C
  56.     Tenenbaum, Langsam, Augenstein
  57.     Prentice Hall
  58.  
  59. Pascal to C experience:
  60.     Algorithms+Data Structures = Programs
  61.     Wirth
  62.     Prentice Hall
  63.  
  64. --
  65. "Using ANSI C under UNIX" & "C the Complete Reference"  both from McGraw Hill
  66.  
  67. "Programming with C" by Byron Gottfried
  68.  
  69. "Practical C Programming" by Steve Oualline
  70. --
  71.  
  72. David Spuler, James Cook University of North Queensland, Australia
  73. Author of "Comprehensive C", Prentice-Hall, 1992, pp416, ISBN  0-13-156514-1
  74. INTRO TOPICS: types, operators, structures, strings, fns, ptrs, files etc etc
  75. ADVANCED TOPICS: efficiency, debugging, style, portability, large programs
  76.   A book which is intended for experienced programmers and covers both
  77.   introductory issues and advanced issues - therefore it should wear
  78.   well with C experience. 
  79.  
  80. It's contents are:
  81.  
  82.     PART I: The C Language
  83.   1 "Introduction to C"
  84.   2 "Variable declarations and types"
  85.   3 "Operators"
  86.   4 "Control statements"
  87.   5 "Structured types"
  88.   6 "Strings"
  89.   7 "Functions"
  90.   8 "Pointers"
  91.   9 "Input and output"
  92.   10 "File operations"
  93.   11 "The preprocessor"
  94.   12 "Standard library functions"
  95.  
  96.     PART II: Advanced Issues
  97.   13 "Large programs"
  98.   14 "Functions and pointers revisited"
  99.   15 "Efficiency"
  100.   16 "Debugging techniques"
  101.   17 "Program style"
  102.   18 "Portability"
  103.   19 "UNIX systems programming"
  104.  
  105. --
  106. Victory at "C"
  107.  
  108. --
  109. C: Step-by-Step
  110.  
  111. --
  112. _Compilers: Principles, Techniques, and Tools_ by Aho, Sethi & Ullman (aka
  113.   "The Red Dragon Book").  Chapter 3 is all about regular expressions, and
  114.   how to construct their associated DFAs. (ISBN 0-201-10088-6)
  115.  
  116. _Introduction to Automata Theory, Languages, and Computation_ by Hopcroft
  117.   and Ullman.  This is probably one of the canonical theoretical works
  118.   in the field of membership recognition and computability.  This covers
  119.   such important results as the pumping lemma, and the Rabin-Scott theorem.
  120.   (ISBN 0-201-02988-X)
  121.  
  122. --
  123. Waite Group's 'C Primer Plus.'
  124.   It is pretty much geared toward the beginning C programmer, but
  125.   doesn't just skim the surface like most beginner books do.  It is the
  126.   book I used to learn C programming. 
  127.  
  128. --
  129. 'Teach Yourself C'
  130.  
  131. --
  132. "C by Dissection" By Al Kelley and Ira Pohl
  133.  
  134. --
  135. "Theory and Problems of Programming With C" by Byron S.  Gottfried.  It
  136. is published by Mc-Graw Hill under Schaum's OutLine Series.
  137.  
  138. --
  139. Title: C Style, Standards and Guidelines
  140. Author: David Straker
  141. Publisher: Prentice-Hall
  142. Date of publication: 1992
  143. Pages: 231
  144. ISBN: 0-13-116898-3
  145. Contents: Part 1 : Basics
  146.             1.  Standards
  147.             2.  Psychological factors
  148.             3.  General principles
  149.           Part 2 : Commenting and Naming
  150.             4.  Commenting
  151.             5.  Naming
  152.           Part 3 : Layout
  153.             6.  Code layout
  154.             7.  File layout
  155.           Part 4 : Usage
  156.             8.  Language usage
  157.             9.  Date usage
  158.             10. Programming Usage
  159.           Part 5 : Implementation
  160.             11. Implementing standards
  161.           Appendix A : Example standard
  162.  
  163. --
  164.                             INSTRUCTIONAL BOOKS
  165.                                     ---
  166.  
  167.  
  168. The following three texts are written for experienced  programmers,  or  at
  169. least for people who already "think" like programmers.
  170.                                     ---
  171.  
  172.  
  173. [ ] "The C Programming Language" (1st ed.)
  174.     Brian W. Kernighan & Dennis Ritchie
  175.     1978, Prentice Hall ISBN: 0-13-110163-3
  176.  
  177.     This was the first, and for many years the only, text on C.  Written by
  178.     the  authors  of  the  language,  it  was  the  cornerstone  of early C
  179.     development and is still humorously referred to as "The Old Testament."
  180.     Although  it is available in many bookstores, it is now drastically out
  181.     of date.  The  only  reasons  for  purchasing  it  at  this  point  are
  182.     historical  interest, or a job which requires maintaining some very old
  183.     software.
  184.  
  185.  
  186. [ ] "The C Programming Language" (2nd ed.)
  187.     Brian W. Kernighan & Dennis Ritchie
  188.     1988, Prentice Hall ISBN: 0-13-110362-8
  189.  
  190.     This ("The New Testament") is the updated version of the  original  K&R
  191.     (Kernighan  &  Ritchie)  text,  and  can  be distinguished by the words
  192.     "Second Edition" and "ANSI C" on the cover in  red.   It  includes  the
  193.     modifications  incorporated  by  the ANSI standard, while retaining the
  194.     nature of the 1st edition.  If you are building a library of  C  books,
  195.     this is the first one you should get.
  196.  
  197.  
  198. [ ] "C A Reference Manual" (3rd ed.)
  199.     Samual P. Harbison & Guy L. Steele Jr.
  200.     1991, Prentice Hall.  ISBN: 0-13-110933-2
  201.  
  202.     This text is widely used in industry as both a  text  and  a  reference
  203.     manual  for  C  programmers.   It is somewhat more verbose than the K&R
  204.     book, and also makes an effort to cover both ANSI and "traditional"  C.
  205.     A  particularly  good  point  of  this book, in my opinion, is that the
  206.     authors point out concerns relating to C implementations for  different
  207.     computers  or  operating  systems.   It  also has a section on the ANSI
  208.     standard library functions.  If you are new to programming,  this  text
  209.     might be a bit overwhelming.
  210.  
  211. The remainder of the books  in  this  section  are  oriented  more  towards
  212. instruction, and less experienced programmers, than the above three titles.
  213.                                     ---
  214.  
  215.  
  216. [ ] "C A Software Engineering Approach" (2nd ed.)
  217.     Peter A. Darnel & Phillip E. Margolis
  218.     1991, Springer Verlag  ISBN: 0-387-97389-3
  219.  
  220.     Despite a few misprints, this is an excellent textbook  for  C.   Major
  221.     differences  between ANSI and Pre-ANSI C are highlighted in large, hard
  222.     to miss boxes.  Also highlighted in boxes are common bugs which afflict
  223.     both  experienced  and  inexperienced  C programmers.  These boxes then
  224.     have  their  own  index.    Particularly  nice   features   include   a
  225.     diagrammatic  syntax  for  the  C language, a section on implementation
  226.     limits, a listing of ANSI/K&R differences, a good, easy to read section
  227.     on  the  standard  library,  and  finally  a  section  on good software
  228.     engineering (which many C students could use).  The last is accompanied
  229.     by the source for a C interpreter, which is great example software.
  230.  
  231.  
  232. [ ] "A Book On C" (2nd ed.)
  233.     Al Kelly & Ira Pohl
  234.     1990, Benjamin Cummings  ISBN:0-8053-0060-0
  235.  
  236.     A more chatty book than many others, this book includes  more  examples
  237.     and more detailed explanations than the texts above.  The basics of the
  238.     language are covered, as well as techniques such as  linked  lists  and
  239.     trees.  Some specifics for MSDOS and UNIX are covered.
  240.  
  241. [In another post someone said this about it:]
  242. - An excellent introduction to C with lots and lots of examples.  Best of 
  243.   all, the authors took pain to 'dissect' those examples, ie go through
  244.   them line by line of code explaining the various features of the language
  245.   and expound on their usage.  Each chapter has a good summary and the text
  246.   is very clear and well written.  It is concise and to the point. Readers
  247.   can learn C in a self pace  way.  There is also enough advance topics for
  248.   the more advance users.
  249.  
  250.  
  251. [ ] "The Waite Group's New C Primer Plus"
  252.     Mitchell Waite and Steven Prata
  253.     Howard W. Sams & Co.  ISBN: 0-672-22687-1
  254.  
  255.     This has been highly recommended  as  a  readable  introduction  to  C,
  256.     especially  for  those  without  a  programming  background.   It steps
  257.     through the basics with clear discussions and many examples.
  258.  
  259.  
  260. [ ] "Programming in ANSI C"
  261.     Kochan
  262.     Hayden Books  ISBN: 0-672-48408-0
  263.  
  264.     Another book  with  multiple  recommendations  as  being  an  excellent
  265.     introductory text with frequent examples and good text.
  266.  
  267.  
  268.  
  269.                                 REFERENCE BOOKS
  270.                                       ---
  271.  
  272.  
  273. [ ] "American National Standard for Information Systems -
  274.     Programming Language - C"
  275.     ANSI X3.159-1989
  276.     1990, American National Standards Institute
  277.  
  278.     This is the official standard for the C language, completed by ANSI  in
  279.     1989.   For  language  lawyers,  this  is  THE  source.   Of particular
  280.     interest  is  the  rationale,  published  with  the  standard  but  not
  281.     officially  part  of  it.   The rationale explains the reasoning behind
  282.     many of the decisions taken by the committee, giving  an  insight  into
  283.     the standards making process.
  284.  
  285.  
  286. [ ] "Standard C"
  287.     P.J. Plauger & Jim Brodie
  288.     1989, Microsoft Press  ISBN: 1-55615-158-6
  289.  
  290.     This is a complete and inexpensive pocket reference  to  the  language.
  291.     It  includes  all standard features, the standard libraries, and a good
  292.     section on portability.  It could use a better index, but at $7.95 is a
  293.     bargain as a reference.
  294.  
  295. [ ] Turbo C/C++ the Complete Reference
  296.     Herbert Schildt
  297.     1990, McGraw Hill  ISBN: 0-07-881535-5
  298.  
  299.     If you MUST buy a manual specific to  a  particular  C  implementation,
  300.     they are available.  This book, for example, covers in great detail the
  301.     implementation and extensions to standard C included in Borland's Turbo
  302.     C  package.   Also included are explanations of the Turbo C development
  303.     environment.  Beware:  This is neither a good  textbook  (there  is  no
  304.     discussion  of  strings, for instance), nor is it a good description of
  305.     standard C.  Borland specific functions are intermingled with  standard
  306.     library functions, and you must really dig to determine the difference.
  307.     Given these caveats, it is a reasonable reference to have on your desk.
  308.     Similar books exist, I'm sure, for most C environments.
  309.  
  310.  
  311.  
  312.                               MISCELLANEOUS BOOKS
  313.                                       ---
  314.  
  315.  
  316. [ ] "The Standard C Library"
  317.     PJ Plauger
  318.     1992 Prentice Hall  ISBN: 0-13-131509-9
  319.  
  320.     Presents, justifies, and explains a complete implementation of the ANSI
  321.     libraries.   If  you understand the language, but want more information
  322.     on the standard libraries, this is the place to look.
  323.  
  324.  
  325. [ ] "C Traps & Pitfalls"
  326.     Andrew Koenig
  327.     Addison-Wesley  ISBN: 0-201-17928-8
  328.  
  329.     An excellent book, describing many of the programming errors common  in
  330.     the C community.  If you want your programs to work because the code is
  331.     correct, rather than just through luck or trial and error, this is  the
  332.     book to read.
  333.  
  334.  
  335. [ ] C Programming Guidelines (2nd ed.)
  336.     Thomas Plum
  337.     1989, Plum Hall Inc.  ISBN: 0-911537-07-4
  338.  
  339.     This is a description of programming standards for C.  It is formulated
  340.     as a series of manual pages, each dealing with a separate issue.  While
  341.     it makes for rather dry reading, it is a good starting point for either
  342.     someone  new  to  C style, or someone developing a C standard for a new
  343.     project.  For corporate accounts, the manual  pages  are  available  in
  344.     electronic  form from the publisher, should you wish to include them in
  345.     your own company standard.
  346.  
  347.  
  348. [ ] "The C Puzzle Book" (2nd ed.)
  349.     Alan R. Feuer
  350.     1989, Prentice Hall  ISBN: 0-13-115502-4
  351.  
  352.     Discusses C from  the  viewpoint  of  "what  does  the  following  code
  353.     produce?"   Lots  of  interesting and testing puzzles, with answers.  I
  354.     have not yet read the second edition, but assume it is similar  to  the
  355.     first, updated for ANSI C.
  356.  
  357.  
  358. [ ] "Numerical Recipes in C"
  359.     Press, Flannery, Teukolsky, & Vetterling
  360.     1988, Cambridge University Press  ISBN: 0-521-35465-X
  361.  
  362.     This is a real tome!  Most  C  projects  do  not  center  around  heavy
  363.     numerical  calculations,  but if you need to do that type of work, this
  364.     book can be invaluable.  Be warned, though, this is not light  reading!
  365.     A  companion volume of the example code is available, as are disks with
  366.     the software.
  367.  
  368.  
  369. [ ] "Indian Hill C Style and Coding Standards"
  370.     Cannon, Elliott, Kirchoff, Miller, Milner, Mitze, Schan, Whittington
  371.     1990, Bell Labs
  372. --
  373. That's all I have right now.  Gee, since this seems to be an FAQ, maybe
  374. it could be added to it?  (Of course, it should either be trimmed down
  375. to the truly good books, or expanded when someone else suggests one). 
  376. Until it is added, I will try to keep a list of suggested books.  If you
  377. or someone you know wants the updated list, please feel free to email a
  378. request to me.  My email address is in my .sig file.  Happy reading!!!
  379.  
  380. .sig
  381. ------------------------------------------------------------------------------
  382. = Please note that the babbling found within is just me babbling and not
  383. = Microware's.  Of course, you already new that. (Or, am I babbling again?)
  384. =
  385. = Tim Wilson.
  386. = (UUCP:     ...!uunet!mcrware!timwil)
  387. = (Internet: timwil@microware.com)
  388. ------------------------------------------------------------------------------
  389.  
  390.