Advertisement

© 2010

Programming Languages: Principles and Paradigms

  • Self-contained and straightforward approach that requires some familiarity with only one programming language (unlike many competitor books)

  • Clearly separates between the design, implementation and pragmatic aspects of programming languages

  • Explicit treatment of the main programming paradigms

Textbook

Part of the Undergraduate Topics in Computer Science book series (UTICS)

Table of contents

  1. Front Matter
    Pages I-XIX
  2. Maurizio Gabbrielli, Simone Martini
    Pages 1-25
  3. Maurizio Gabbrielli, Simone Martini
    Pages 27-55
  4. Maurizio Gabbrielli, Simone Martini
    Pages 57-65
  5. Maurizio Gabbrielli, Simone Martini
    Pages 67-90
  6. Maurizio Gabbrielli, Simone Martini
    Pages 91-118
  7. Maurizio Gabbrielli, Simone Martini
    Pages 119-163
  8. Maurizio Gabbrielli, Simone Martini
    Pages 165-196
  9. Maurizio Gabbrielli, Simone Martini
    Pages 197-263
  10. Maurizio Gabbrielli, Simone Martini
    Pages 265-276
  11. Maurizio Gabbrielli, Simone Martini
    Pages 277-332
  12. Maurizio Gabbrielli, Simone Martini
    Pages 333-367
  13. Maurizio Gabbrielli, Simone Martini
    Pages 369-411
  14. Maurizio Gabbrielli, Simone Martini
    Pages 413-432
  15. Back Matter
    Pages 433-440

About this book

Introduction

This excellent addition to the UTiCS series of undergraduate textbooks provides a detailed and up to date description of the main principles behind the design and implementation of modern programming languages.

Rather than focusing on a specific language, the book identifies the most important principles shared by large classes of languages. To complete this general approach, detailed descriptions of the main programming paradigms, namely imperative, object-oriented, functional and logic are given, analysed in depth and compared. This provides the basis for a critical understanding of most of the programming languages.

An historical viewpoint is also included, discussing the evolution of programming languages, and to provide a context for most of the constructs in use today. The book concludes with two chapters which introduce basic notions of syntax, semantics and computability, to provide a completely rounded picture of what constitutes a programming language.

Keywords

Compilers Functional programming Imperative Programming Interpreters Object-oriented programming Programming languages logic object programming programming language

Authors and affiliations

  1. 1.Dipto. Scienze dell'InformazioneUniversità di BolognaBolognaItaly
  2. 2.Dipto. Scienze dell'InformazioneUniversità di BolognaBolognaItaly

Bibliographic information

Industry Sectors
Pharma
Automotive
Chemical Manufacturing
Biotechnology
IT & Software
Telecommunications
Engineering
Finance, Business & Banking
Electronics
Energy, Utilities & Environment
Aerospace

Reviews

From the reviews:

“This undergraduate textbook on the principles of programming languages has many commendable aspects. It is grounded on sound principles of computing, with machines taking a central role. The authors use activation stacks and other machine-level abstractions to explain many complex ideas--such as scopes and evaluation mechanisms--in concrete terms. Furthermore, many aspects of C++, Java, and C# are covered and contrasted in substantial detail. … In short, what the text covers, it covers well … .” (Simon Thompson, ACM Computing Reviews, January, 2011)

“This book provides a detailed description of the main principles behind the design and implementation of modern programming languages. … Primarily, the text is intended as a university textbook, but is also suitable for personal study of professionals who wish to deepen their knowledge of the mechanisms that lie behind the languages they use.” (Stefan Meyer, Zentralblatt MATH, Vol. 1204, 2011)