This book explains the concepts underlying programming languages, and demonstrates how these concepts are synthesized in the major paradigms: imperative, OO, concurrent, functional, logic and with recent scripting languages. It gives greatest prominence t