This book β the first of two volumes β explores the syntactical constructs of the most common programming languages, and sheds a mathematical light on their semantics, while also providing an accurate presentation of the material aspects that interfere with coding. <p><i>Concepts and Semantics of Pr
Concepts and Semantics of Programming Languages 2: Modular and Object-oriented Constructs with OCaml, Python, C++, Ada and Java
β Scribed by TheΜreΜse Hardin
- Publisher
- Wiley-ISTE
- Year
- 2021
- Tongue
- English
- Leaves
- 265
- Edition
- 1
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
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.
β¦ Table of Contents
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
π SIMILAR VOLUMES
Your essential comparative approach to learning C++ and Java<br /><br />Programming with Objects: A Comparative Presentation of Object-Oriented Programming with C++ and Java, a comparative presentation of object-oriented programming with two of the most popular programming languages of today, teache
Your essential comparative approach to learning C++ and JavaProgramming with Objects: A Comparative Presentation of Object-Oriented Programming with C++ and Java, a comparative presentation of object-oriented programming with two of the most popular programming languages of today, teaches vital skil
Aalborg University, Denmark, 2010. β 479 p.<div class="bb-sep"></div>This is a teaching material about object-oriented programming, illustrated with use of the programming language C#. The initial version was written i 2006.<br/>It is assumed, as a prerequisite, that the readers have some knowledge
<span><span><div><p>This book offers contemporary, comprehensive and in-depth coverage of all the concepts of object-oriented technologies, with an emphasis on problem-solving approaches as applied to C++ and Java Programming paradigms.</p></div></span></span>
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