This book is an excellent and highly detailed treatise on all the issues surrounding programming languages: theory, abstraction, syntax, semantics, implementation and so on. The emphasis is on software but hardware is not neglected: there is a detailed account of how they work together. The final chapters give sterling descriptions of object-orientation and multi-threaded programming. The chapters are neatly divided into an overview, detailed theoretical concepts and practical examples in many dialects, a summary, review questions, an exercise and bibliographical notes. The author is a senior academic, and his book can be used throughout a degree course. The book handles compiled and interpreted languages. Examples are scattered throughout in well known languages - C, C++, Java, Pascal, Fortran, Modula, Perl - and less known ones: Scheme, Clu, Sisal. Students will not find much use for this book after graduation, but for an understanding of programming language pragmatics, it is in a class of its own.
Philip Daly CEng, MBCS
Senior Scientific Programmer and Director