Path: utzoo!mnetor!tmsoft!torsqnt!news-server.csri.toronto.edu!bonnie.concordia.ca!clyde.concordia.ca!nstn.ns.ca!news.cs.indiana.edu!samsung!zaphod.mps.ohio-state.edu!wuarchive!psuvax1!hsdndev!cmcl2!adm!smoke!gwyn From: gwyn@smoke.brl.mil (Doug Gwyn) Newsgroups: comp.lang.c Subject: Re: Can Novices Jump Directly in C? (Books) Message-ID: <15201@smoke.brl.mil> Date: 14 Feb 91 21:49:50 GMT References: <39182@cup.portal.com> <15885.27b91b31@levels.sait.edu.au> <431@bria> Organization: U.S. Army Ballistic Research Laboratory, APG, MD. Lines: 24 In article <431@bria> uunet!bria!mike writes: >The best companion is K&P's (as in "Pike") "Software Tools". Undoubtedly there will be other corrections to this, but as proud owner of autographed copies of these books I can tell you definitively that "Software Tools" is by Kernighan and Plauger. Kernighan and Pike's book is "The UNIX Programming Environment". I agree that they are excellent, but they serve different audiences. "Software Tools" was published when access to C and UNIX was not widespread, in an attempt to bring the power of the UNIX environment and toolkit philosophy to the "rest of us". It made Fortran tolerable by introducing the RatFor language and a preprocessor that turned RatFor into ordinary Fortran. A "Software Tools Users' Group" appeared on the scene and helped make such tools widely available. The need for RatFor these days is much less, since C is widespread now, although the UNIX toolkit approach is still not as prevalent as it deserves to be. A later book by Kernighan and Plauger, "Software Tools in Pascal", was essentially a rewrite of the earlier "Software Tools" using Pascal instead of Ratfor (and of course omitting the Ratfor preprocessor implementation chapter). There is no "Software Tools in C", which would be close to publishing some of the UNIX source code, although I am sure such a book would be welcome. "The UNIX Programming Environment" is targeted specifically at UNIX application developers, with considerable emphasis on exploiting existing tools.