reggie@pdn.UUCP (George W. Leach) (12/20/88)
As I was cleaning up some directories, I stumbled across this note that I had sent to a friend on some UNIX and C books. I thought that I would polish it a bit, add some other books to the list and post it. The list is in no particular order and is not exhaustive. This list represents some of the books that I actually own and have read and/or used at one time or another. Remember, these are only *MY* opinions on these books. "Using The UNIX System", Richard Gauthier, Reston Publishing Company, 1981, 297 pages, ISBN 0-8359-8164-9, paperback: 0-8359-8162-2 - introductory level book, extremely basic and easy reading. I read this on a plane trip between Newark, NJ and Columbus, OH before I ever worked seriously with UNIX. Unlike, Rebecca Thomas and Jean Yates Tutorial style book this one does not require you to be sitting down in front of a crt in order to derive benefit from it. "Introducing The UNIX System", Henry McGilton and Rachel Morgan, McGraw-Hill Book Company, 1983, 556 pages, ISBN 0-07-045001-3 - introductory for the most part, but far more extensive than Gauthier's book. There are two chapters on editors and two on text formatting that are the best I have seen in this type book. There is even a chapter on system management. I believe there may be a new edition of this book out that has been substantially rewritten. "Advanced UNIX Programming", Marc J. Rochkind, Prentice-Hall, 1985, 265 pages, ISBN 0-13-011818-4, paperback: 0-13-011800-1 - Rochkind is a former Bell Labs UNIX guru who wrote SCCS back in the mid 70's. This book is exactly what the title states, basically an extremely thorough treatment of programming using the UNIX System Call Interface. System V, System III, V7, 4.2 BSD, and Xenix are all discussed. The system calls are organized functionally into chapters that cover file i/o, terminal i/o, orocess control, interprocess communication, and miscellaneous calls. The opening chapter is an overvview of fundamental concepts of UNIX. Anytime I have a question on the usage of system calls I consult this book. The only problem with it is that it needs to be updated per System V Rel 3, 4.3 BSD and the efforts of Sun and AT&T to bring SunOS and System V together as well as the efforts in the UNIX 386 world. "The UNIX Programming Environment", Brian W. Kernighan and Rob Pike, Prentice-Hall, 19884, 357 pages, ISBN 0-13-937699-2, paperback: 0-13-937681-X - This book is what I call a classic. Just buy it. "UNIX Shell Programming", Stephen G. Kochan and Patrick H. Wood, Hayden Book Company, 1985, 422 pages - I own this book, but I rarely crack it open. I guess the main reason is that I am still a Bourne-again shell user. For years I worked with a variety of systems where one might find csh and/or ksh. However, /bin/sh was the only common denominator. I find that most often I refer to Kenighan and Pike for shell programming questions. However, they don't address the C Shell (csh) or Korn Shell (ksh). This book does offer a chapter on each. In addition, this book may be more suited for a beginner that an experienced UNIX programmer. "UNIX System: Readings and Applications, Vol 1: UNIX Time-Sharing System", "Vol.2: The UNIX System", AT&T, Prentice-Hall, 1987. - These two volumes are reprints of the two volumes of the Bell Labs Technical Journal (now AT&T Tech J.) that were devoted to UNIX: Vol. 57, No. 6, Part 2, July-August, 1987, and Vol. 63, No. 8, October, 1984. "C: A Reference Manual", 2nd Edition, Samuel P. Harbison and Guy L. Steele Jr., Prentice-Hall, 1987, 404 pages, ISBN 0-13-109810-1, paperback: 0-13-109802-0 - An excellent book on C. It is not really an introductory level book, and is a great companion to K&R (2nd Ed.). Both this book and K&R (2nd Ed.) cover the draft-proposed ANSI standards. Where H&S really stands out is in the sections that cover the UNIX library calls. If you have ever struggled with any of printf or scanf family of library calls in trying to figure out the conversion rules in the format string, this book is the answer. "Efficient C", Thomas Plum and Jim Brodie, Plum Hall, 1985, 150 pages, ISBN 0-911537-05-8 - This is a useful book. Portability is one aspect of programming in C. Efficiency is the other. Many use C because it allows them the freedom to tie the programs down to the hardware in order to run efficiently. This book is an excellent guide and when combined with Jon Bentley's book on writting efficient programs gives one an excellent background in measuring programs and fine tuning them. "Notes on the Draft C Standard", Thomas Plum, Plum Hall, 1987, 92 pages, ISBN 0-911537-06-6 - Tom Plum is the Vice Chair of the ANSI X3J11 committee, so who better to write this book than he? However, as with any of the other C books that treat the ANSI C Standard, it does not cover the Standard in it's final form due to the fact that it has yet to be adopted. However, the price is about $10, so it makes a good pickup to keep informed about the standard and how it differs from K&R C. "The C Programmer's Handbook", M.I. Bolsky, AT&T Bell Labs and Prentice-Hall, 1985, 84 pages, ISBN 0-13-110073-4 - This is a handbook for experience programmers, not a book for reading. Information is intended as a quickie reference and is not that detailed. "The C Puzzle Book: Puzzles for the C Programming Language", Alan R. Feuer, Prentice-Hall, 1982, 173, ISBN 0-13-109934-5 paperback: 0-13-109926-4 - Exactly what the title indicates. The puzzles are organized by chapter: basic arithmetic operators, assignment operators, logic and increment operators, bitwise operators, relational and conditional operators, operator precedence and evaluation. The answers for all of the puzzles are also provided. This is an excellent way to learn some of the more advanced expressions that can be concocted with C. "The C Answer Book", Clovis L. Tondo and Scott E. Gimpel, Prentice-Hall, 1985, 209 pages, ISBN 0-13-109877-2 - This book provides the answers to the exercises found in K&R. I believe that a second edition of this book has also been recently published corresponding with the 2nd edition of K&R. "C Traps and Pitfalls", Andrew Koenig, Addison-Wesley, 1988, 147 pages, ISBN:201-17928-8 - Andrew published a BTL Technical Memorandum by this title several years back. Later it was published as a Technical Report. It has now been expanded into a book. I read the TR and it was excellent. I just recently finished the book and would recommend it to anyone who uses C. "Portable C and UNIX System Programming", J.E. Lapin, Prentice-Hall, 1987, 249 pages, ISBN 0-13-686494-5 - A useful book, mostly because there are no others written on this topic, yet...... "How to Write Portable Software in C", Mark Horton, Prentice Hall, to be released. - I'm waiting! "The Design and Implementation of the 4.3 BSD UNIX Operating System", S.J. Leffler, M.K. McKusick, M. Karels, and J.S. Quarterman, Addison-Wesley, 1988 - We should be hearing about this one any day now!!! John Quarterman had informed me quite some time ago to expect this one in September. These are the primary people who are responsible for 4.3 BSD. I would love to hear about other books from people out there. It is not possible to purchase each and every book on UNIX and C. One must be discriminating in choosing which to purchase. Perhaps these mini reviews will help someone. -- George W. Leach Paradyne Corporation ..!uunet!pdn!reggie Mail stop LG-129 Phone: (813) 530-2376 P.O. Box 2826 Largo, FL USA 34649-2826