Programming Language Pragmatics


  • Michael Scott, University of Rochester, NY, USA
  • Michael Scott, University of Rochester, NY, USA

Programming Language Pragmatics is the most comprehensive programming language textbook available today. Taking the perspective that language design and language implementation are tightly interconnected, and that neither can be fully understood in isolation, this critically acclaimed and bestselling book has been thoroughly updated to cover the most recent developments in programming language design. With a new chapter on run-time program management and expanded coverage of concurrency, this new edition provides both students and professionals alike with a solid understanding of the most important issues driving software development today.
View full description


Undergraduate Computer Science Students; Programmers, Systems and Software Engineers


Book information

  • Published: March 2009
  • ISBN: 978-0-12-374514-9


"This book is a key resource for any computer science student and is certainly faithful to its title - Programming Language Pragmatics
. The updated third edition of this popular book delivers the key concepts of programming languages and their implementation in a concise and intuitive way, illustrated with clear explanations and examples
. In addition to the coverage of traditional language topics, Scott’s book delves into the sometimes obscure, but essential, details of programming artifacts. The descriptions of language theory, along with concrete implementations of how to realise them, are invariably presented in a language-agnostic fashion. And therein lies the strength of this book: whilst the main examples have been updated (with C and Intel x86 replacing Pascal and MIPS), it provides an organisational framework for learning new languages, irrespective of the paradigm
. Programming Language Pragmatics provides a more accessible introduction to many of the key topics than the classic Compilers: Principles, Techniques and Tools by Aho et al. (a.k.a. the ‘Dragon Book’) and provides a deep appreciation of the design and implementation issues of modern languages
. The material is aimed at an undergraduate computer science level, but is also suitable for self-study. Topics are often independent of previously presented material, making it easier to pick and choose areas for study. This is also supported by additional in-depth material and advanced discussion topics on the companion CD
. In summary, this new edition provides both students and professionals alike a solid understanding of the most important issues driving software development today - an essential purchase for any serious programmer or computer scientist!"

Table of Contents

I. Foundations

1. Introduction
2. Programming Language Syntax
3. Names, Scopes, Bindings
4. Semantic Analysis
5. Target Machine Architecture

II. Core Issues in Language Design

6. Control Flow
7. Data Types
8. Subroutines and Control Abstraction
9. Data Abstraction and Object Orientation

III. Alternative Programming Models

10. Functional Languages
11. Logic Languages
12. Concurrency
13. Scripting Languages

IV. A Closer Look at Implementation

14. Building a Runnable Program
15. Run-time Program Management

16. Code Improvement