Skip to main content
  • Textbook
  • © 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
  • Includes supplementary material: sn.pub/extras

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

Buy it now

Buying options

eBook USD 34.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 49.95
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

This is a preview of subscription content, log in via an institution to check for access.

Table of contents (13 chapters)

  1. Front Matter

    Pages I-XIX
  2. Abstract Machines

    • Maurizio Gabbrielli, Simone Martini
    Pages 1-25
  3. How to Describe a Programming Language

    • Maurizio Gabbrielli, Simone Martini
    Pages 27-55
  4. Foundations

    • Maurizio Gabbrielli, Simone Martini
    Pages 57-65
  5. Names and The Environment

    • Maurizio Gabbrielli, Simone Martini
    Pages 67-90
  6. Memory Management

    • Maurizio Gabbrielli, Simone Martini
    Pages 91-118
  7. Control Structure

    • Maurizio Gabbrielli, Simone Martini
    Pages 119-163
  8. Control Abstraction

    • Maurizio Gabbrielli, Simone Martini
    Pages 165-196
  9. Structuring Data

    • Maurizio Gabbrielli, Simone Martini
    Pages 197-263
  10. Data Abstraction

    • Maurizio Gabbrielli, Simone Martini
    Pages 265-276
  11. The Object-Oriented Paradigm

    • Maurizio Gabbrielli, Simone Martini
    Pages 277-332
  12. The Functional Paradigm

    • Maurizio Gabbrielli, Simone Martini
    Pages 333-367
  13. The Logic Programming Paradigm

    • Maurizio Gabbrielli, Simone Martini
    Pages 369-411
  14. A Short Historical Perspective

    • Maurizio Gabbrielli, Simone Martini
    Pages 413-432
  15. Back Matter

    Pages 433-440

About this book

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.





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)

Authors and Affiliations

  • Dipto. Scienze dell'Informazione, Università di Bologna, Bologna, Italy

    Maurizio Gabbrielli, Simone Martini

Bibliographic Information

Buy it now

Buying options

eBook USD 34.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 49.95
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access