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.