This book explains the concepts underlying programming languages, and demonstrates how these concepts are synthesized in the major imperative, OO, concurrent, functional, logic and scripting. It gives greatest prominence to the OO paradigm, and uses Java as the main exemplar language. It includes numerous examples, case studies of several major programming languages, and numerous end-of-chapter exercises. Sample solutions to most of the exercises are provided at the book’s companion Web site
A decent introduction into how programming languages are set up. Covers a lot of information about the conceptual building blocks of programming languages. The case studies work well to show how those abstract topics translate into actual language features. Would be even better with more modern examples (Rust, Java 11, C++14) since a lot has changed.
Bought this book for my studies at Eindhoven University. In contrast to some the other books I bought for the same reason, this one actually is a good read!