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