Skip to main content

Programming Languages: Principles and Paradigms

  • Textbook
  • © 2010


  • 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:

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

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

Access this book

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

Licence this eBook for your library

Institutional subscriptions

Table of contents (13 chapters)


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.


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

Publish with us