Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!rutgers!husc6!seismo!cmcl2!phri!roy From: roy@phri.UUCP Newsgroups: comp.lang.c Subject: Summary of "what C book to use" replies Message-ID: <2531@phri.UUCP> Date: Wed, 10-Dec-86 18:10:39 EST Article-I.D.: phri.2531 Posted: Wed Dec 10 18:10:39 1986 Date-Received: Sun, 14-Dec-86 10:04:37 EST Reply-To: roy@phri.UUCP (Roy Smith) Organization: Public Health Research Inst. (NY, NY) Lines: 249 A while back, in <2495@phri.UUCP>, I asked for recommendations on what text I should use to teach C to a bunch of non-computer-types. Here's a summary, liberally edited, of what people told me. I managed to thank some of the people who wrote me, but not everyone -- if you didn't get a personal thank-you note; don't feel slighted, I just got snowed by the volume. A few people posted followup articles to mine; their comments are not included here. My only comment is that several people recommended "The C Puzzle Book". This is exactly *not* what I was after -- I mean, can you imagine a bunch of PhD biologists giving 2 hoots about figuring out if you meant *++ or ++*? I found the book rather dry and impractical as a tutorial text. /roy ---------------- From: cmcl2!seismo!utah-cs!utah-gr!thomas (Spencer W. Thomas) Organization: University of Utah CS Dept Here's a list I saved from the net a while ago: >From utah-cs!harpo!floyd!whuxlb!pyuxll!abnjh!lute Mon Aug 29 16:11:14 1983 [Note the date: things might have changed in 3-1/2 years -- RHS] Books 1 & 2 were most often cited in the 30+ responses I received, as especially helpful for the individual who has no prior (or little) programming experience. Books 9 & 10 are supplemental books that some of you may enjoy, or want for your library. 1. The C Primer by Les Hancock and Morris Kreiger, McGraw-Hill, 1982 (price: $14.95) 2. Learning to Program in C by Thomas Plum, Plum Hall Inc., 1 Spruce Ave., Cardiff, N.J. 08232 3. Programming in C by Stephan Kochan, Hayden Book Co., 50 Essex St., Rochelle Park, N.J. 07662 (price: $18.95) TO BE RELEASED SEPTEMBER, 1983. 4. A User Guide to the UNIX System by Jean Yates & Rebecca Thomas, Osborne/McGraw-Hill 5. Introducing the UNIX System by Henry McGilton & Rachel Morgan, (A Byte Book), McGraw-Hill, 1983. 6. C Programming Guide by Jack Purdum, 7960 Castleway Dr., Que Publishing, Indianapolis, Ind. 46250, 1983. 7. The UNIX System by S.R. Bourne, International Computer Science Series of Addison-Wesley, 1983. 8. The C Programming Language by Brian W. Kerninghan and Dennis M. Ritchie, Prentice-Hall, Englewood Cliffs, N.J. 07632 9. The C Puzzle Book by Alan Feuer, Prentice-Hall, 1982. (price: $14.95) "This book is an excellent companion to Kerninghan and Ritchie. It is a collection of puzzles, written in C, that will test your knowledge of the idiosyncracies...of the C Language. The puzzles are all of a type: a short program is given, usually ending with one or more printf's. Your task...is to discover what the printf's will say. No compiling the program and cheating; besides, the answers are given on the next page. Even better, each answer is derived in an appendix, so you can find out why that strange piece of code gave you such an unexpected output." 10. C Notes by C.T. Zahn, Yourdon, Inc., 1979. ---------------- From: jim nelsonA good book, which we use and like down here, but which is not (I think) widely known is "A Book on C", by Kelly and Pohl, Benjamin-Cummings publisher. ---------------- From: "J. Jenness - Systems Design" Organization: U. of Waterloo, Ontario 1) "The C Library"; Kris Jamsa, Osborne-McGraw-Hill, c.1985 Basic macros, library tools and I/O (I have had no end of I/O problems with interactive C I/O until I implemented the I/O routines outlined in this book.) Gives a reasonable idea of what is happening behind the scenes in some of the systems "xxx.h" libraries. 2) "Advanced C Techniques and Applications", G.E.Sobelman and D.E.Krekelberg, QUE Corporation, Indianapolis, c.1985 Again basic pointer functions, link lists, etc. The second half is devoted to an IBM/PC clone graphics package that pseudo-emulates the window and menu capabilities of a Mac. (I disclaim all knowledge pertaining to these two products). I did find the first half useful though. 3) "Advanced C", Herbert Schildt, Osborne-McGraw-Hill, c.1986. I found this one the best of the 3 listed here. It includes examples on sorting, searching, queues, stacks, dynamic allocation, encription data compression, expression parsing, converting Pascal and BASIC to C, etc... It is certainly talking about more advanced concepts. All 3 have source code available in atleast IBM/PC diskette format. ---------------- From: cmcl2!rutgers!sdcrdcf!eric (Eric Lund) Organization: System Development Corporation R&D, Santa Monica My second favorite book on C is "The C Puzzle Book" by Alan R. Feuer (Prentice-Hall). I would buy it just to have the precedence, associativity, operator summary, and type promotion tables all in one place (appendices 1-4). Why do I like The C Puzzle Book for more than the appendices? The exercizes are fun, and working the exercizes teaches you where to look for the boobytraps before you go out and get yourself nailed while writing code for real. ---------------- From: cmcl2!rutgers!clyde!cuae2!ltuxa!we53!sw013b!dj3b1!killer!fmayhar The one that taught me C (I started out as a FORTRAN programmer) was the QUE C Programming Guide (McGraw-Hill), available in any Waldenbooks or B. Daltons. I swear by it. It makes things understandable. K&R was Greek, as far as I was concerned. ---------------- From: Steve Lesh (ISC | howard) Let me just second Larry Lippman's recommendation of Marc Rochkind's book for Unix system calls and add Steven Kochan's C programming text to the list of introductory C programming books. ---------------- From: philabs!seismo!sun!portal!Andy_Tough-guy_Seligman%cupertino.pcc X-Origin: The Portal System X-Possible-Reply-Path: sun!portal!cupertino.pcc!Andy_Tough-guy_Seligman I am learning C with "Programming in C " by Steven Kochan, Hayden. My background is similar to that of the people that you describe, extensive experience with other languages, and some UNIX background. This book contains complete working programs to illustrate every feature described, and is organized as a tutorial, with exercises at the end of each chapter. It speaks neither above nor below my intelligence and ability to grasp new concepts. ---------------- From: cmcl2!rutgers!clyde!cbatt!cbdkc1!jap Organization: AT&T Bell Laboratories, Columbus, OH The book you probably want is _Programming in C_ by Stephen Kochan, 1983, Hayden Book Company. It's UNIX based, 320 pages of text (plus 50 pages of appendices), and tutorial in nature. The table of contents is: Chapter (pages): 1. Introduction (3) 2. Some Fundamentals (6) 3. Writing a Program in C (7) 4. Variables, Constants, Data Types, and Arithmetic Expressions (17) 5. Program Looping (19) 6. Making decisions (27) 7. Arrays (19) 8. Functions (39) 9. Structures (24) 10. Character Strings (34) 11. Pointers (38) 12. Operations on Bits (20) 13. The Preprocessor (17) 14. More on Data Types (8) 15. Working With Larger Programs (6) 16. Input and Output (23) 17. Miscelleneous Features and Advanced Topics (13) Appendices: A. Language Summary (30) B. Common Programming Mistakes (4) C. The UNIX C Library (8) D. Compiling Programs Under UNIX (4) E. The Program LINT (1) F. The ASCII Character Set. Have fun with the FORTRAN folks (I once had a FORTRAN programmer almost belt me when I told him he could write a given piece of code in C without gotos). Jim Parker ---------------- From: cmcl2!rutgers!sdcrdcf!trwrb!felix!fritz!alvarado (Pat Alvarado) Organization: FileNet Corp., Costa Mesa, Ca. May I suggest "Programming in C" by Steven Kochan. ---------------- From: "guthery%ascvx5.asc@slb-test.CSNET" [Note: this took the prize for "most confusing return address" :-) -- RHS] I've found "The C Primer" by Hancock & Krieger a good teaching text. ---------------- From: Randolph Vires My vote is for PROGRAMMING IN C by Stephen G. Kochan. I learned C by reading K&R's book. Eventhough I am a Computer Science major (Grad Student), I had problems with pointers, structures, and I/O. Kochan's book covers these areas in detail and has LOTS of nice examples. He even talks about real messy things like pointers to structures that contain pointers. ---------------- From: cmcl2!seismo!udenva!skajihar ("Lord of Sith" Kajihara) Organization: U of Denver what I used in an undergraduate class was Kochan, Stephen G. Programming in C. Hasbrouck Heights: Hayden Book Company, 1983. My reasons for suggesting it are: 1) it seems to be very clear about examples and development; 2) it has provided me with an invaluable reference when I could not understand what K&R were talking about; 3) it is based on the UNIX system with examples from such which could be useful for the group that you will be working with. I am a physics major with some love of computers so this might be biased. How- ever, with the aid of this book and some perseverance, I managed to learn C competently enough that it is my language of choice next to FORTRAN in all of its various versions. ---------------- From: cmcl2!philabs!linus!axiom!adelie!cdx39!gold If you have a copy of Byte around, check out the EcoSoft ad. The compiler was cheap so I bought it, as well as Jack Purdum's C Programming book (Que Publishing Co.). He either owns EcoSoft, or just runs the company. I taught myself a lot of C with that book and compiler. The book goes through the C language with good example programs and with comparisons between basic and C. I don't know how suitable it would be to use for a class, but it might be worth your looking into. If you do not have a Byte around, send me email, and I'll send you EcoSoft's phone number...the book should be available in major bookstores. ---------------- -- Roy Smith, {allegra,cmcl2,philabs}!phri!roy System Administrator, Public Health Research Institute 455 First Avenue, New York, NY 10016 "you can't spell deoxyribonucleic without unix!"