Linux, Unix, /etc

Danger Will Robinson! You are now entering a condescending Unix user zone!
Sponsored links (requires javascript):

Review of Programming with GNU Software

The classic text describing and explaining the programming tools available on a Unix system is "The UNIX Programming Environment", by Kernighan and Pike, published in 1984. Times have changed; that book now shows its age. In particular, since its publication, the GNU Project has produced a range of software tools that both parallel and improve on the time-honoured Unix tools. "Programming with GNU Software" is an introduction to the most important of these tools.

The book is not a replacement for "Kernighan and Pike"; but it is an important supplement, for in many areas the tools have changed beyond recognition. A case in point is gdb, the GNU debugger, a far superior tool to the traditional adb and sdb. It starts with the assumption that one is coming to the tools with no knowledge of them; the only specific requirement is a familiarity with the C programming language. After an introduction to the philosophy behind these tools, a short chapter covers the "need to know" material on Unix, which is assumed to be the operating system on which the tools are running. This is a reasonable assumption; bits and pieces of the GNU software have been ported to other platforms, but Unix remains its home.

The "Introduction to the UNIX operating system" actually covers a lot of ground in a short space, and is adequate for a programmer's basic needs when working with Unix. The chapter on Emacs concentrates on editing C code, and provides the basic information for getting the code typed in. "Compilation and Linking with gcc" covers the basics of gcc command-line invocation, and is good enough. It is rather terse, though, and could with profit have been expanded to cover the options in greater detail. The chapter on the GNU C and C++ libraries can't hope to be comprehensive, of course. It might, however, have paid more attention to the enhancements made available in those libraries over those of standard Unix. This chapter is really too slim as it stands. Chapters on the GNU debugger, gdb; GNU make; RCS, the revision control system; and the GNU profiler gprof conclude the book, and all serve as good introductions.

The CD-ROM included contains all the tools dealt with in the book, with binaries for a variety of common Unices, and the source. The binary platforms are: SunOS 4.1.3 & Solaris 2.4 on Sun SPARC4; HP-UX on HP 9000/700; AIX 3 on IBM RS/6000; Irix 5.3 on SGI Iris/Indigo; and Digital UNIX on the Alpha. The binaries have been provided by Cygnus Support, a company that sells support for much of the GNU project software. They are a living example of Richard Stallman's assertion, in the GNU Manifesto, that it is possible to make money out of freely-available software. The source is compilable on a wide range of platforms.

The book is a useful resource for the Unix newbie who can program, but who is unfamiliar with the tools available on a Unix system. It is also handy for someone with a Linux system who needs a good introduction to the GNU programming tools, particularly the C compiler, the linker and the debugger. Equipped with this book, and an introduction to the C language, one has all one needs to get started as a Unix programmer. However, it is an introduction only: enough to get one up and running, but soon out-grown. It could be argued that there is still a need for a more advanced book to fill the gap between this and the formidable GNU manuals.

Title: Programming with GNU Software
Author: Mike Loukides & Andy Oram
Publisher: O'Reilly
ISBN: 1-56592-112-7
Price: $39.95
Pages: 233 plus CDROM
Date: January 1997

Paul Dunne 1997


[back to Linux, Unix, /etc]



Copyright © 1995-2007 Paul Dunne,

Sponsored links (requires javascript):