Concepts and Semantics of Programming Languages 2: Modular and Object-oriented Constructs with OCaml, Python, C++, Ada and Java
- Length: 272 pages
- Edition: 1
- Language: English
- Publisher: Wiley-ISTE
- Publication Date: 2021-08-31
- ISBN-10: 1786306026
- ISBN-13: 9781786306029
- Sales Rank: #7752140 (See Top 100 Books)
This book – composed of two volumes – explores the syntactical constructs of the most common programming languages, and sheds a mathematical light on their semantics, providing also an accurate presentation of the material aspects that interfere with coding.
Concepts and Semantics of Programming Languages 2 presents an original semantic model, collectively taking into account all of the constructs and operations of modules and classes: visibility, import, export, delayed definitions, parameterization by types and values, extensions, etc. The model serves for the study of Ada and OCaml modules, as well as C header files. It can be deployed to model object and class features, and is thus used to describe Java, C++, OCaml and Python classes.
This book is intended not only for computer science students and teachers but also seasoned programmers, who will find a guide to reading reference manuals and the foundations of program verification.
Cover Half-Title Page Title Page Copyright Page Contents Foreword Preface Chapter 1. Namespaces: Model and Operations 1.1. Reusing, dividing, confining 1.1.1. Analysis of some developer needs 1.1.2. Meeting developer needs 1.2. Namespaces 1.2.1. Namespaces definition 1.2.2. Extending notions of environment and binding 1.3. kit development 1.3.1. Namespace of a kit 1.3.2. Order of fields introduction 1.3.3. Typing kits 1.3.4. kit values 1.3.5. kit export, confining fields 1.3.6. kits import 1.3.7. Stages of kit development 1.4. Incomplete kits 1.4.1. Type and value of an incomplete kit 1.4.2. Completion of an incomplete kit 1.4.3. Confining an incomplete kit 1.5. Parameterized kits 1.5.1. kits parameterized by a type 1.5.2. kits parameterized by types and values 1.5.3. Confinement, parametrization, incomplete kits and export 1.6. Functors of kits 1.7. kit extension 1.7.1. Presentation of extension 1.7.2. Confinement and extension 1.8. Conclusion Chapter 2. Modules 2.1. Modules in Ada 2.1.1. Developing modules 2.1.2. Export and confinement 2.1.3. Nesting modules 2.1.4. Importing a module 2.1.5. Flattening an import 2.1.6. Generic modules 2.1.7. Modules and separate compilation 2.2. Modules in OCaml 2.2.1. Module definition 2.2.2. Export and confinement 2.2.3. Confinement of type definitions 2.2.4. Functors 2.3. Modularity, namespaces and W-kit 2.3.1. Declaration interfaces 2.3.2. W-kits 2.3.3. Modularity and header files in C Chapter 3. Class and Object Features 3.1. Object-oriented features 3.1.1. Objects 3.1.2. Classes 3.2. kits and object features 3.2.1. Modeling classes 3.2.2. Modeling objects 3.2.3. Inheritance, redefinition and late binding 3.2.4. Incomplete C-kits, parameterized C-kits 3.2.5. Subclassing, subtyping 3.2.6. Type languages, classes and objects Chapter 4. Classes in Selected Languages 4.1. Classes in Java 4.1.1. General presentation 4.1.2. Modules and packages 4.1.3. Classes 4.1.4. Marks 4.1.5. Developing classes 4.2. Classes in C++ 4.2.1. Header files, namespaces, confinement 4.2.2. Classes 4.2.3. Inheritance and confinement 4.2.4. Overloading in C++ 4.2.5. Parameterized classes 4.3. Classes in OCaml 4.3.1. Presentation 4.3.2. An overview of classes 4.3.3. Marks, incomplete classes, parametrization 4.3.4. Objects 4.3.5. Class signatures: confinement and inheritance 4.3.6. Multiple inheritance 4.3.7. Other features 4.4. Presentation of Python 4.4.1. Getting started 4.4.2. An overview of classes, modules and types 4.4.3. Names and assignment 4.4.4. Assignment and typechecking 4.4.5. Overloading 4.4.6. Modules and packages 4.4.7. Confinement 4.4.8. Inheritance 4.4.9. Incomplete C-kits and abstract classes 4.4.10. Other features Appendix: Questions to Guide Learning List of Notations References Index Other titles from iSTE in Computer Engineering EULA
Donate to keep this site alive
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.