[comp.lang.c] Unix/C Books

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