From the book reviews:
“This text can serve as a complement to traditional undergraduate programming language course resources or as the main textbook for introductory courses in programming language operational semantics. The book is well organized, flows well, and is pleasant to read. … Summing Up: Recommended. Upper-division undergraduates and faculty.” (D. Papamichail, Choice, Vol. 52 (5), January, 2015)
“There are many things in this book that would lead to its recommendation as a course textbook: it provides a good breadth of material, and a stepping stone from programming experience to more theoretical aspects of programming languages. … it would be an excellent addition to a reference list that could be used to inform a solid understanding of programming language theory.” (Sara Kalvala, Computing Reviews, July, 2014)
From the Back Cover
Providing a concise introduction to the essential concepts in programming languages, using techniques from operational semantics, this book highlights three major programming paradigms:
• Imperative languages: the main features of these languages are illustrated with examples in Java, Python, C;
• Functional languages: modern languages such as ML and Haskell are used to describe the functional style of programming;
• Logic languages: the last part of the book gives an overview of logic programming using Prolog.
Following a general description of each family of languages, their semantics are studied using abstract machines and structural operational semantics. Programming Languages and Operational Semantics gives an in-depth analysis of the basic concepts in programming languages instead of a mere survey of languages, assisting the understanding of the fundamental notions in programming languages over simply describing their properties.
It is addressed to undergraduate students, as a complement to programming courses.