Concepts and Semantics of Programming Languages 1
by Therese Hardin, Mathieu Jaume, Francois Pessaux, Veronique Viguie Donzeau-Gouge
Conclusion
The purpose of the two volumes of this book is to present the concepts, semantics and tools of the main sequential features of programming languages. In this first volume, after a brief tour of hardware and coding, we have considered functional and imperative features. These concepts were presented using a uniform approach, defining and comparing several different execution semantics for the two paradigms. We have also studied typing semantics and its applications, verification of program consistency, polymorphism and type inference, which are so important to lighten developers’ work. The corresponding Chapters 3, 4 and 5 may seem difficult on first reading. They can be browsed first and then reworked as their content is referenced and used throughout the book. In addition, the OCaml and Python coding of the semantic notions is designed to facilitate their acquisition by reading and executing the codes provided.
We have also given a detailed presentation of data types and of automatic or explicit memory management, with examples mostly written in C and C++. We have highlighted certain characteristics of hardware components, which affect the semantics of these features and the program execution. The last chapter was devoted to exceptions, their semantics and their treatment in the languages OCaml, Java, C++ and Python.
Volume 2 is based on the foundations laid out in this volume. Starting with the analysis of certain needs of developers, we will develop step-by-step ...