.\"	$NetBSD: u5,v 1.1 2007/11/29 12:35:07 mjf Exp $
.\"
.\" Copyright (C) Caldera International Inc.  2001-2002.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code and documentation must retain the above
.\"    copyright notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed or owned by Caldera
.\"	International, Inc.
.\" 4. Neither the name of Caldera International, Inc. nor the names of other
.\"    contributors may be used to endorse or promote products derived from
.\"    this software without specific prior written permission.
.\"
.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE LIABLE FOR ANY DIRECT,
.\" INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
.\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
.\"	@(#)u5	8.1 (Berkeley) 6/8/93
.\"
.SH
V.  UNIX READING LIST
.SH
General:
.LP
K. L. Thompson and D. M. Ritchie,
.IT The
.ul
.UC UNIX
.ul
Programmer's Manual,
Bell Laboratories, 1978 (PS2:3)\(dd
Lists commands,
system routines and interfaces, file formats,
and some of the maintenance procedures.
You can't live without this,
although you will probably only need to read section 1.
.LP
D. M. Ritchie and K. L. Thompson,
``The
.UC UNIX
Time-sharing System,''
CACM, July 1974. (PS2:1)\(dd
.FS
\(dg These documents (previously in Volume 2 of the Bell Labs
Unix distribution) are provided among the "User Supplementary"
Documents for 4.3BSD, available from the Usenix Association.
.FE
.FS
\(dd These are among the "Programmer Supplementary" Documents for 4.3BSD.
PS1 is Volume 1, PS2 is Volume 2.
.FE
An overview of the system,
for people interested in operating systems.
Worth reading by anyone who programs.
Contains a remarkable number of one-sentence observations
on how to do things right.
.LP
The Bell System Technical Journal
(BSTJ)
Special Issue on 
.UC UNIX ,
July/August, 1978,
contains many papers describing recent developments,
and some retrospective material.
.LP
The 2nd International Conference on Software Engineering
(October, 1976)
contains several 
papers describing the use of the
Programmer's Workbench
.UC PWB ) (
version of
.UC UNIX .
.SH
Document Preparation:
.LP
B. W. Kernighan,
``A Tutorial Introduction to the
.UC UNIX
Text Editor'' (USD:12)
and
``Advanced Editing on
.UC UNIX ,''
(USD:13) Bell Laboratories, 1978.\(dg
Beginners need the introduction;
the advanced material will help you get the most
out of the editor.
.LP
M. E. Lesk,
``Typing Documents on
.UC UNIX ,''
Bell Laboratories, 1978. (USD:20)\(dg
Describes the
.UL \-ms
macro package, which isolates the novice
from the vagaries of
.UL nroff
and
.UL troff ,
and takes care of most formatting situations.
If this specific package isn't available on your system,
something similar probably is.
The most likely alternative is the
.UC PWB/UNIX
macro package
.UL \-mm ;
see your local guru if you use
.UC PWB/UNIX .*
.FS
*The macro package -me is additionally available on Berkeley Unix Systems.
-mm is typically not available.
.FE
.LP
B. W. Kernighan and L. L. Cherry,
``A System for Typesetting Mathematics,''
Bell Laboratories Computing Science Tech. Rep. 17. (USD:26)\(dg
.LP
M. E. Lesk,
``Tbl \(em A Program to Format Tables,''
Bell Laboratories CSTR 49, 1976. (USD:28)\(dg
.LP
J. F. Ossanna, Jr.,
``NROFF/TROFF User's Manual,''
Bell Laboratories CSTR 54, 1976. (USD:24)\(dg
.UL troff
is the basic formatter used by
.UL \-ms ,
.UL eqn
and
.UL tbl .
The reference manual is indispensable
if you are going to write or maintain these
or similar programs.
But start with:
.LP
B. W. Kernighan,
``A TROFF Tutorial,''
Bell Laboratories, 1976. (USD:25)\(dg
An attempt to unravel the intricacies of
.UL troff .
.SH
Programming:
.LP
B. W. Kernighan and D. M. Ritchie,
.ul
The C Programming Language,
Prentice-Hall, 1978.
Contains a tutorial introduction,
complete discussions of all language features,
and the reference manual.
.LP
B. W. Kernighan and R. Pike,
.ul
The Unix Programming Environment,
Prentice-Hall, 1984.
Contains many examples of C programs which use the system
interfaces, and explanations of ``why''.
.LP
B. W. Kernighan and D. M. Ritchie,
.UC UNIX \& ``
Programming,''
Bell Laboratories, 1978. (PS2:3)\(dd
Describes how to interface with the system from C programs:
I/O calls, signals, processes.
.LP
S. R. Bourne,
``An Introduction to the
.UC UNIX
Shell,''
Bell Laboratories, 1978. (USD:3)\(dg
An introduction and reference manual for the Version 7 shell.
Mandatory reading if you intend to make effective use
of the programming power
of this shell.
.LP
S. C. Johnson,
``Yacc \(em Yet Another Compiler-Compiler,''
Bell Laboratories CSTR 32, 1978. (PS1:15)\(dd
.LP
M. E. Lesk,
``Lex \(em A Lexical Analyzer Generator,''
Bell Laboratories CSTR 39, 1975. (PS1:16)\(dd
.LP
S. C. Johnson,
``Lint, a C Program Checker,''
Bell Laboratories CSTR 65, 1977. (PS1:9)\(dd
.LP
S. I. Feldman,
``MAKE \(em A Program for Maintaining Computer Programs,''
Bell Laboratories CSTR 57, 1977. (PS1:12)\(dd
.LP
J. F. Maranzano and S. R. Bourne,
``A Tutorial Introduction to ADB,''
Bell Laboratories CSTR 62, 1977. (PS1:10)\(dd
An introduction to a powerful but complex debugging tool.
.LP
S. I. Feldman and P. J. Weinberger,
``A Portable Fortran 77 Compiler,''
Bell Laboratories, 1978. (PS1:2)\(dd
A full Fortran 77 for
.UC UNIX
systems.
