return to first page linux journal archive
keywordscontents

Book Review

Linux Programmer's Reference

Last summer, I picked up Linux Programmer's Reference looking for a good volume on kernel internals or on writing modules. Instead, I found a major shell scripting tutorial and introductory lessons in C, Tcl/Tk, TeX/LaTeX, the use of make, RPM and writing man pages. The table of contents lists the following chapters:

  1. BASH Shell Programming
  2. TCSH Shell Programming
  3. Z Shell Programming
  4. Compilers and Libraries: G++, GCC, and GDB
  5. Development Tools
  6. Perl: Quick Reference
  7. Tcl and Tk
  8. TeX and LaTeX
The titles of Chapters 1 through 3 explain their contents. Chapter 4 is not as much a C tutorial as a compiler reference, including the basics of the GNU Debugger. Chapter 5 has a wonderful section on basic development tools. It teaches the fundamentals of managing a package with make and RCS and writing documentation. The use of autoconf and RPM, touched on in Chapter 4, should probably have been placed in Chapter 5. Chapter 6 is just what it states, although I recommend O'Reilly's Programming Perl (the Camel Book) for those who want to learn that wonderful language. Chapter 7 is a good start for beginners wishing to get comfortable with Tcl and Tk programming. Chapter 8 provides instruction on those formatting languages with which you can typeset books about your applications, if you feel the need.

This book touches on almost every aspect of writing an application for Linux. The shell scripting sections are the best I have seen. I was attracted to the Z Shell section in particular, since I have never seen much documentation for that shell, which is my personal favorite. I am already a fan of Perl, so Chapter 3 didn't add much for me; however, Chapter 5 blew me away. Covered here is material I have found before only in separate books.

Linux Programmer's Reference is a small book that seldom goes into much detail. However, I can say that this little text is a perfect companion for anyone--from the ``hacks-binary-code-for-fun'' type to the ``I-want-to-give-this-cool-program-I-wrote-to-my-friends'' type. As someone decidedly in between these two, I would definitely say this book has something for everyone.

Andrew G. Feinberg is a student at Walt Whitman High School in Bethesda, Maryland. In his spare time, he is a developer for Debian GNU/Linux and runs the High School Linux User Group (http://hs-lug.tux.org/). He can be reached at andrew@ultraviolet.org.