Apart from the section on perl programming, the contents of this page
are derived entirely from Franco Callari's on-line OS course pages.
C programming
The definitive reference on C (a must for any C programmer) is:
-
Kernighan, B. and Ritchie, D.
- The C Programming Language, 2nd ed., Prentice-Hall, 1988.
Other useful references are:
-
Schildt, H.
- C: The Complete Reference, McGraw-Hill, 1991
-
Waite, M., Prata, S.
- The Waite Group's New C Primer, Sams, 1990.
On-line C programming courses:
-
C programming
- by Steve Summit.
-
C programming
- by Steve Holmes.
Don't forget that your question is likely to have been asked already: check
out the list of
Frequently Asked Questions in comp.lang.c
maintained by Steve Summit, as well as the list of
Infrequently Asked Questions in comp.lang.c
by Peter Seebach.
A large
repository of useful web pointers regarding C is kept at the
University of Linköping, Sweden.
C++ programming
Given its downword compatibility with C, C++ is a viable option for any
Unix system programming problem.
The definitive reference about it (complete and comprehensive it is, readable
and simple it is not) is:
-
Stroustrup, B
- The C++ Programming Language, 2nd ed., Addison-Wesley, 1991.
An
on-line tutorial
is available here.
Perl programming
Perl, or Practical Extraction and Report Language
provides programmers with the power of C yet the ease of use of a
shell language.
Even though it doesn't cover in detail a few of the more esoteric
issues, the definitive reference work (known affectionately as
"the Camel book") is nontheless:
-
Wall, L., Christiansen, T., and Schwartz, R.L.
- Programming Perl, 2nd ed.,
Extensive on-line
documentation, man pages, etc. is also available, as is a perl
Frequently Asked Questions list.
UNIX system programming
Some good books on UNIX system programming (in C) include:
-
Rochkind, M.
- Advanced UNIX programming, Prentice-Hall, 1985.
-
Stevens, R.
- Advanced Programming in the UNIX Environment, Addison-Wesley, 1992.
-
Stevens, R.
- UNIX Network Programming, Addison-Wesley, 1990.
-
Horspool, R. N.
- C Programming in the Berkeley UNIX Environment, Prentice-Hall, 1986.
and, on the WWW,
BSD Programmer's Supplementary Documents.
Shells and other programming tools
The classic starting point is:
-
Kernighan, B., Pike, R.
- The UNIX Programming Environment, Prentice-Hall, 1984.
A more recent "bible" on the subject is:
-
Peek, J., O'Reilly, T., Loukides, M.
- UNIX Power Tools, O'Reilly-Bantam, 1993.