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 to the OO paradigm. Includes numerous examples using C, Java and C++ as exmplar languages Additional case-study languages: Python, Haskell, Prolog and Ada Extensive end-of-chapter exercises with sample solutions on the companion Web site Deepens study by examining the motivation of programming languages not just their features
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!