What do topics ranging from organic chemistry to Napoleon's campaigns have to do with computer programming? This collection of essays demonstrates the many varied aspects of programming, showing how programming can be both a fun and elegant science.
Some of the essays cover programming techniques, like how profilers can provide insight into the dynamic behavior of programs, and methods for making data files self-describing. These techniques deal with real programs and they are realistically illustrated, using the C and Awk languages. Bentley also provides the reader with some tricks of the programmer's trade, like a collection of rules of thumb and hints for finding simple solutions to hard problems.
These essays also originally appeared in the author's column in Communication of the ACM, and have been substantially revised, incorporating new sections, problems, and reader comments.