Books

Books : reviews

Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman.
The Design and Analysis of Computer Algorithms.
Addison Wesley. 1974

(read but not reviewed)

The study of algorithms is at the very heart of computer science. In recent years a number of significant advances in the field of algorithms have been made. These advances have ranged from the development of faster algorithms, such as the fast Fourier transform, to the startling discovery of certain natural problems for which all algorithms are inefficient. These results have kindled considerable interest in the study of algorithms, and the area of algorithm design and analysis has blossomed into a field of intense interest. The intent of this book is to bring together the fundamental results in this area, so the unifying principles and underlying concepts of algorithm design may more easily be taught.

Alfred V. Aho, Jeffrey D. Ullman.
Principles of Compiler Design.
Addison Wesley. 1977

(read but not reviewed)

Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger.
The AWK Programming Language.
Addison Wesley. 1988

(read but not reviewed)

Originally developed by Alfred Aho, Brian Kernighan, and Peter Weinberger in 1977, AWK is a pattern-matching language for writing short programs to perform common data-manipulation tasks. In 1985, a new version of the language was developed, incorporating additional features such as multiple input files, dynamic regular expressions, and user-defined functions. This new version is available for both UNIX and MS-DOS.

This is the first book on AWK. It begins with a tutorial that shows how easy AWK is to use. The tutorial is followed by a comprehensive manual for the new version of AWK.

Subsequent chapters illustrate the language by a range of useful applications, such as:

• Retrieving, transforming, reducing, and validating data
• Managing small, personal databases
• Text processing
• Little languages
• Experimenting with algorithms

The examples illustrate the book’s three themes: showing how to use AWK well, demonstrating AWK’s versatility, and explaining how common computing operations are done. In addition, the book contains two appendixes: a summary of the language, and answers to selected exercises.