Aho, Alfred V., Brian W. Kernighan, and Peter J. Weinberger.-
The AWK Programming Language. Reading, MA:
Prentice-Hall, 1988. Written by the developers of the
awk(C)
language, this book describes awk's functionality
and gives guidelines for using this versatile tool.
Arthur, Jay.-
``Programmer Productivity and the Unix [sic] System.''
UNIX/World (July 1986): 26-33.
Describes how to increase programmer productivity
using the UNIX tools.
AT&T Bell Laboratories.-
UNIX System Readings and Applications.
Englewood Cliffs, NJ: Prentice-Hall, 1987.
Reprints of the July-August 1978 and October 1984 issues of the
AT&T Bell Laboratories Technical Journal
containing articles about the UNIX operating system by
early developers. These articles help the user to
understand the historical development of the UNIX operating system.
AT&T.-
STREAMS Primer and
STREAMS Programmer's Guide.
Englewood Cliffs, NJ: Prentice-Hall, 1987. AT&T's original documents
which explain the STREAMS interface.
The UNIX System V/386 Release 3.2 implementation is identical
to the AT&T implementation, although AT&T supports
some non-STREAM kernel functions
that are not supported on UNIX System V/386 Release 3.2.
Bach, Maurice J.-
The Design of the UNIX Operating System. Englewood Cliffs, NJ:
Prentice-Hall, 1986. A technical discussion of the internals of
the UNIX System V operating system, written shortly before
System V, Release 3. Somewhat outdated, but still very useful.
Banahan, Mike and Andy Rutter.-
The UNIX Book.
New York, NY: John Wiley and Sons, 1983. A general guide to the
features and capabilities of the UNIX operating system.
Bent, Wilson H. Jr.-
``Compiling Stubborn Programs.''
UNIX/World (November 1987): 113-122.
Describes strategies for getting difficult software to compile.
Bentley, Jon Louis.-
Programming Pearls.
Reading, MA: Addison-Wesley, 1986.
More Programming Pearls: Confessions of a Coder.
Reading, MA: Addison-Wesley, 1988.
Writing Efficient Programs.
Englewood Cliffs, NJ: Prentice-Hall, 1982. Discusses numerous programming practices
that improve the efficiency of programs. While based on
PASCAL, the concepts are applicable to all
high-level programming languages.
Bolsky, Morris I. and David G. Korn.-
The Korn Shell Command and Programming Language.
Englewood Cliffs, NJ: Prentice-Hall, 1989.
This book is the specification of the Korn shell language
and a reference handbook for ksh,
the program that implements the Korn shell language.
Contains a tutorial for using ksh
as an interactive command language and as a programming language.
Includes examples illustrating the features of ksh,
and many chapters have exercises. Also contains a quick reference summary
of the Korn shell language.
Bourne, S. R.-
The UNIX System. Reading, MA: Addison-Wesley, 1982.
Christian, Kaare.-
The UNIX Operating System.
New York, NY: Wiley-Interscience, 1983.
Date, C.J.-
An Introduction to Database Systems, Vol. 1, 5th printing.
Reading, MA: Addison-Wesley Pub. Co., 1990.
Provides an introduction to database theory, design, and implementation.
Dougherty, Dale,-
``AWK: A Not So Awkward Tool.''
UNIX/World (May 1987): 83-89;
(June 1987): 81-89; (July 1987): 83-88.
A three-part series that describes the
awk(C)
command for processing lists and tables, developing applications,
and acronym list manipulation.
Dowd, Kevin.-
High Performance Computing.
Sebastopol, CA: O'Reilly & Associates, 1993.
Discusses the basics of modern workstation architecture,
understanding and writing performance benchmarks,
and methods for improving performance of critical applications.
Ellis, M. and Bjarne Stroustrup.-
The Annotated C++ Reference Manual.
Reading, MA: Addison-Wesley, 1990.
Feit, Sidnie.-
TCP/IP: Architecture, Protocols, and Implementation.
New York, NY: McGraw-Hill, 1992.
Explains how to implement a TCP/IP network.
Includes detailed instructions, many examples,
and reference information.
Covers core protocols
plus additional services and products:
NFS, NIS, BIND,
ARP, RIP, KERBEROS,
SNMP, program interfaces.
How to invoke network services, plan your name/address structure,
troubleshoot network problems,
connect with bridges and routers.
Gauthier, R.-
Using the UNIX System.
Reston, VA: Reston Publishing Company, 1981.
Gircys, Gintaras R.-
Understanding and Using COFF.
(Nutshell Series). Sebastopol, CA: O'Reilly & Associates, 1988.
Gofton, Peter W.-
Mastering UNIX Serial Communications.
San Francisco, CA: Sybex, 1990.
An introduction to serial communication facilities
on SCO XENIX and UNIX systems. Includes a section for programmers
with chapters entitled ``System Calls to Access Serial Devices''
and ``Programming Tips and Techniques.''
Goodheart, Berny.-
UNIX Curses Explained.
Englewood Cliffs, NJ: Prentice-Hall, 1991.
Harbison, Samuel P. and Guy L. Steele.-
C: A Reference Manual, second edition.
Englewood Cliffs, NJ: Prentice-Hall, 1987. An explanation of the C language.
Includes an index and cross-references within the text.
Intel-
Intel486 Microprocessor
Hardware Reference Manual.
Describes the 486 architecture
for use by hardware designers and system programmers.
Intel486 Microprocessor Family,
Programmer's Reference Manual.
1992.
Provides information about the 486 architecture
for applications and system programmers.
Includes information about the instruction set,
the FPU, and compatibility with
other Intel microprocessors.
Kernighan, Brian W. and P.J. Plauger.-
Software Tools.
Reading, MA: Addison-Wesley, 1976.
The Elements of Programming Style.
New York, NY: McGraw Hill, 1978.
Kernighan, Brian W. and Dennis M. Ritchie.-
The C Programming Language, second edition.
Englewood Cliffs, NJ: Prentice-Hall, 1988. The first edition of this book is the definitive
definition of the C programming language. The second edition describes
ANSI version of the C programming language,
which is provided with Microsoft's 6.0 C compiler that is called by the
cc(CP)
command in the 3.2.3 Development System software
(see Tondo for a related book).
Kernighan, Brian W. and Rob Pike.-
The UNIX Programming Environment.
Englewood Cliffs, NJ: Prentice-Hall, 1984.
Introduces the fundamental elements of the traditional
UNIX programming environment, including the filesystem,
the shell and shell programming, filters, using standard I/O,
and system calls. It also includes chapters on program development
and document preparation.
This is one of the classic books about
the programming philosophy for
UNIX operating systems,
although it is now somewhat dated.
When it was published, there was only one shell available,
networking and graphical user interfaces were not an issue,
and many other features that have become standard
were not yet included.
Kettle, Peter and Steve Statler,-
Writing Device Drivers for SCO UNIX:
A Practical Approach.
Addison-Wesley, Summer 1992.
Discusses how to write device drivers for
UNIX System V version 4,
including carefully graded exercises
for writing a simple line discipline
a real STREAMS driver,
and other commonly-requested driver problems.
The book includes answers to the exercises
that are targeted explicitly to the Version 4 product,
as well as background information about the kernel
in the Intel 80x86 processors.
Koenig, Andrew.-
C Traps and Pitfalls.
Reading, MA: Addison-Wesley, 1988.
Lapin, J.E.-
Portable C and UNIX Programming.
UNIX Prentice-Hall, 1987.
Gives a history of UNIX operating systems
and summarizes the major differences between the different versions.
Also discusses the general issues involved in portability
and gives specific suggestions for writing portable C code.
Written before System V, Release 4, and SUNOS were available,
the general information covered is useful.
Levine, John.-
lex & yacc.
Sebastopol, CA: O'Reilly & Associates, Second edition, 1992.
Shows programmers how to use the
lex(CP)
and
yacc(CP)
utilities in program development.
The second edition contains revised tutorial sections
for novice users and reference sections for
advanced users.
Lewine, Donald.-
POSIX Programming Manual.
Sebastopol, CA: O'Reilly and Associates, 1991.
This book contains two separate parts: a programming guide and a
reference guide that present information about the POSIX standard
for application programmers. The programming guide section presents
an overview of developing POSIX applications and is also
appropriate for programmers who are new to the UNIX operating system
and need to learn the application interface. The reference guide lists
all POSIX library functions in alphabetical order, all data
structures and their members, all error codes,
and standard header files and the information they define.
Lomuto, Ann Nicols and Nico Lomuto.-
A UNIX Primer.
Englewood Cliffs, NJ: Prentice-Hall, 1983. Beginner's guide to the UNIX Operating System.
Mason, Tony and Doug Brown.-
lex & yacc (Nutshell Series).
Sebastopol, CA: O'Reilly & Associates, 1990.
McGilton and Morgan.-
Introducing the UNIX System.
New York, NY: McGraw-Hill, 1983.
Miller, Chris D. F. and R. D. Boyle.-
UNIX for Users.
Rockville, MD: Blackwell Scientific Publications, 1984.
O'Reilly, Tim.-
X Toolkit Intrinsics Reference Manual, Volume 5.
(X Window Systems). Sebastopol, CA: O'Reilly & Associates, 1990.
Pajari, George.-
Writing UNIX Device Drivers.
Addison-Wesley, 1991.
Provides details and a hands-on, nuts and bolts approach
to writing drivers for SCO operating systems.
The book includes a sample SCSI disk driver,
information about intelligent serial I/O adapters,
STREAMS for token ring, and so forth.
A diskette of sample drivers and exercises is available separately.
Plum, Thomas, and Jim Brodie.-
Efficient C.
Cardiff, NJ: Prentice-Hall, 1985.
Learning to Program in C. Cardiff, NJ: Prentice-Hall, 1983.
Provides an introduction to (or refresher on) the C programming language.
C Programming Guidelines.
Englewood Cliffs, NJ: Prentice-Hall, 1984. Organized in reference manual fashion,
this book suggests programming practices that lead to C code that is
reasonably portable and maintainable.
Rao, Bindu R.-
C++ and the OOP Paradigm.
New York, NY: McGraw-Hill, 1992.
Introduces C++ and object oriented programming
with examples in C++.
Rochkind, Marc.-
Advanced UNIX Programming.
Englewood Cliffs, NJ: Prentice-Hall, 1985. Provides information and examples for using
the classic UNIX system calls. Many system calls have been added
since this book was published, but this introduces the basics.
This book is especially useful if you are dealing with
XENIX programs; it contains information about features
such as XENIX semaphores and XENIX file locking.
The Stevens and Lewine books listed in this bibliography
are more up-to-date general UNIX programming guides.
Rosenberry, Ward, David Kenney, and Gerry Fisher,-
Understanding DCE.
Sebastopol, CA: O'Reilly & Associates, 1992.
A technical and conceptual overview of
OSF's Distributed Computing Environment
(DCE) for programmers and
technical managers, marketing, and sales people.
Schreiner, Axel T. and H. George Friedman, Jr.-
Introduction to Compiler Construction with UNIX.
Englewood Cliffs, NJ: Prentice-Hall, 1985. Describes
lex(CP)
and
yacc(CP).
SCO-
Directory.
A listing of add-on software and hardware products
available for SCO systems.
Programming Tools Guide.
Provides generally useful information
about the programming and debugging tools
and their use in developing and maintaining software,
as well as tracking down and eradicating problems
in C and assembly language programs.
The C compiler, its use in practice,
explanations of compiler error messages,
and implementation-defined behavior of the
ANSI compiler are all presented.
In addition, the book includes information about using
dbXtra(CP)
to debug C and C++ programs
in a Motif-based windowing environment.
Shipped as part of the Development System documentation set.
Developer's Topics.
A collection of technical papers
about topics of interest to users of the Development System.
Many of these papers include
extensive examples that illustrate SCO features
added to the porting base.
Programmer's Reference Manual.
A set that includes two volumes of manual pages
for the UNIX Development System,
including sections (CDMT), (CP), (FP), and (S),
a volume for the X Window libraries, one volume for the Motif library,
and manual pages for special networking libraries.
The printed books are shipped as part of
the Development System documentation set;
all man pages are available online through the
man(C)
command and the
DocView documentation server.
Character User Interfaces Guide.
Introduces the facilities that are available
for developing user interfaces
and gives detailed instructions for using
curses(S),
the Extended Terminal Interface (ETI),
and writing user interfaces that can be run on
ASCII terminals.
This book includes numerous examples of curses programs.
Shipped as part of the Development System documentation set.
Schwaderer, W. D.-
C Programmer's Guide to NetBIOS.
Howard W. Sams and Company, 1988.
Shirley, John.-
Guide to Writing DCE Applications.
Sebastopol, CA: O'Reilly & Associates, 1992.
A hands-on programming guide to
OSF's Distributed Computing Environment
(DCE)
for first-time DCE programmers.
Designed to help new DCE users
make the transition from conventional,
nondistributed applications programming
to distributed DCE programming.
Includes programming examples.
Sobell, Mark G.-
A Practical Guide to UNIX System V.
The Benjamin/Cummings Publishing Company, Inc 1985.
Describes the UNIX operating system and Bourne shell
programming.
Stevens, W. Richard.-
Advanced Programming in the UNIX Environment.
Reading, MA 1992.
A general purpose programming guide
that presents information about using the
system calls and C library routines
that are common to most UNIX systems.
The book provides information about the features
that are specified in the ANSI C standard,
the XPG standard,
and the POSIX 1003.1 standard,
with special emphasis on the USL
UNIX System V, Release 4 and the
4.4 BSD release.
The book includes a large number of code examples,
including code for a database library,
a program that communicates with a PostScript printer,
a modem dialer, and pseudo terminals.
Each chapter ends with a set of exercises
to test and reinforce the knowledge learned in the chapter;
Appendix C contains solutions to
these exercises.
UNIX Network Programming.
Englewood Cliffs, NJ: Prentice-Hall, 1990. Describes how to write applications
that run over the various network protocols supported on UNIX operating
systems. In addition to basic networking concepts,
contains many code examples illustrating how to write applications
that use STREAMS, sockets, Interprocess Communications facilities,
Transport Level Interface, Internet, and File Transfer Protocol.
Stroustrup, Bjarne.-
The C++ Programming Language.
Reading, MA: Addison-Wesley, 1987.
Taylor, Dave.-
Global Software.
Discusses the issues in
creating software for the growing international market
including cultural and linguistic differences
affecting the user interface to monetary, time, and date standards.
The book provides information about planning and programming
(with an extensive collection of actual program examples)
as well as about marketing and presentation.
Design errors and common pitfalls are pointed out to help
readers avoid the same mistakes.
The author also discusses export restrictions
and other aspects of the politics surrounding
international distribution.
A clear and understandable explanation of
what types of encryption software can and cannot be legally distributed
outside of the United States is an added bonus to this work.
Terplan, Kornel.-
Effective Management of Local Area Networks.
New York, NY: McGraw-Hill, 1992.
Provides information about network management strategies,
standardization, tools, and products
for network designers, LAN operators,
and people who select components and technology
for LAN's, MAN's, and WAN's.
Includes information about solving problems,
automating database support,
and maintaining uninterrupted operations.
Tondo, Clovis L. and Scott E. Gimpel.-
The C Answer Book, second edition.
Englewood Cliffs, NJ: Prentice-Hall, 1985. Gives solutions to the exercises
in the Kernighan/Ritchie C Programming Language book.
The 1985 edition accompanies the 1978 Kernighan/Ritchie.
X/Open Company Limited,-
X/Open Portability Guide. Englewood Cliffs, NJ: Prentice-Hall, 1989.
Volume 1:-
XSI Commands and Utilities
Volume 2:-
XSI System Interface and Headers
Volume 3:-
XSI Supplementary Definitions
In addition to the supplementary definitions
(a basic glossary of terms used throughout the XPG),
defines methods for implementing internationalization, the
curses(S)
interface, and source code transfer methods.
Volume 4:-
Programming Languages
Volume 5:-
Data Management
Volume 6:-
Window Management
Volume 7:-
Networking Services
Young, Douglas A.-
The X Window System®: Programming and Applications with Xt,
OSF/Motif® Edition. Englewood Cliffs, NJ: Prentice-Hall, 1990.
Describes the concepts of the X Window System
and OSF/Motif, and describes how to write application programs
using these libraries. Includes numerous code examples
to illustrate the principles discussed.
Weiner, Richard S. and Lewis Pinson,-
Introduction to Object Oriented Programming and C++.
Reading, MA: Addison-Wesley, 1988.