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 an original semantic model encompassing both modular and object features. This model is intended to allow a uniform point of view in the presentations of these constructs. However, for justified reasons, it does not have the rigor of the semantic models of this current volume. The modules of Ada and OCaml and the header files used in C will be studied as the first examples of this model. It will then be further developed to present the general mechanisms of object-oriented languages and will serve as a basis for a study of classes and packages in the languages Java, C++, OCaml and Python.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.119.253.93