- -10%
Unlock a world of knowledge with Vision Publications—where every page brings you closer to your educational goals!
Unlock a world of knowledge with Vision Publications—where every page brings you closer to your educational goals!
A Text book of
Author: Dr. Shubhashree Savant, Seema Kute
ISBN: 978-93-94022-82-9
Contents
1. Introduction to Programming Languages
1. Introduction
2. The Art of Language Design
3. Exploring the Programming Language Spectrum or Classification of
Programming Languages
4. The significance of Studying Programming Languages
5. Compilation and Interpretation: Unraveling the Process
6. Programming Environments: Tools for Language Development
2. Language Constructs and Object-Oriented Concepts
1. Understanding Binding Time
2. Managing Object Lifetime and Storage Management
3. Allocation Strategies
4. Scope Rules
5. Name Semantics
6. The Meaning of Names in a Scope
7. Object-Oriented Programming Foundations
7.1 Derived class and Base class
7.2 Encapsulation and Inheritance
8. Virtual and Non-virtual Methods
9. Multiple Inheritances
3. Data Types and Their Implementation
1. Data Types: An Overview
2. Primitive Types and Numeric Varieties
2.1 Numeric Types
3. Character String Types
3.1 Design Issues
4. User Defined Ordinal Types
5. Array Types
5.1 Design Issues
5.2 Arrays and Indices
5.3 Subscript Bindings and Array Categories
5.4 Heterogeneous Arrays
5.5 Array Initialization
5.6 Array Operations
5.7 Rectangular and Jagged Arrays
5.8 Slices
6. Associative Arrays
6.1 Structure and Operations
6.2 Implementing Associative Arrays
7. Record Types
8. Union Types
9. Pointer and Reference Types
10. Implementation of Pointer and Reference Types
4. Control Flow and Expressions
1. Introduction
2. Arithmetic Expression
2.1 Expression Evaluation
2.2 Precedence and Associativity
2.3 Assignments
2.4 Initialization
2.5 Ordering Within Expressions
2.6 Short-Circuit Evaluation
3. Structured and Unstructured Flow
3.1 Structured Alternatives to goto
3.2 Continuations
3.3 Sequencing
3.4 Selection
4. Iteration
4.1 Enumeration-Controlled Loops
4.2 Combination Loops
4.3 Iterators
4.4 Generators in Icon
4.5 Logically Controlled Loops
5. Iteration and Recursion
5.2 Applicative- and Normal-Order Evaluation
5. Subprograms: Design and Implementation
1. Introduction
2. Fundamentals of Subprograms
2.1 General Subprogram Characteristics
2.2 Basic Definitions
2.3 Parameters
2.4 Procedures and Functions
3. Design Considerations for Subprograms
4. Creating Local Referencing Environments
4.1 Local Variables
4.2 Nested Subprograms
5. Parameter-Passing Techniques: Pass-by-Value, Pass-by-Reference
5.1 Semantics Models of Parameter Passing
5.2 Implementation Models of Parameter Passing
6. Parameters That Are Subprograms
7. Overloaded Subprograms and Their Role
8. Generic Subroutines
9. Generic Functions in C++
10. Generic Methods in Java
11. Overloaded Operators and Their Customization
12. Unveiling Coroutines: Concepts and Applications
13. Implementing Subprograms: General Semantics of Calls and Returns
6. Implementing Subprograms: Stack Dynamics
1. Implementing Basic Subprograms
1.1 Stack Dynamics: Variables and Activation Records
1.2 An Example without Recursion
1.3 Recursion
2. Nested Subprograms and Scope Blocks
2.1 The Basics
2.2 Static Chains
3. Blocks
4. Implementing Dynamic Scoping and Its Implications
4.1 Deep Access
7. Concurrency and Parallelism
1. Introduction to Concurrency
1.1 Architectures for Multiprocessors
1.2 Concurrency Category
1.3 Reasons to Utilize Concurrency
1.4 Introduction to Parallelism
2. Threading Models and Synchronization Mechanisms
2.1 Synchronization Mechanisms
2.2 Threading Models
3. Parallel Programming Paradigms
3.1 Issues with Programmability
4. Models of Parallel Programming
5. Challenges and Benefits of Concurrent Programming
8. Type Systems and Type Inference
1. Types and Type Systems: Overview
1.1 Types of Programming
2. Static vs. Dynamic Typing
3. Type Inference: Principles and Applications
3.1 First Example of Type Inference
3.2 Type-Inference Algorithm
4. Type Safety and Its Significance
4.1 Type Safety
4.2 Type Safety Significance
9. Memory Management and Garbage Collection
1. Introduction
2. Memory Management Strategies: Manual vs. Automatic
2.1 Manual Memory Management
2.2 Automatic Memory Management
3. Memory Allocation and De-allocation Techniques
4. Garbage Collection Algorithms: Mark and Sweep, Generational
5. Modern Trends in Memory Management
10. Domain Specific Languages (DSLs)
1. Understanding Domain-Specific Languages
2. Benefits of DSLs in Problem Domains
3. Designing and Implementing DSLs
4. DSLs vs. General-Purpose Languages
No customer reviews for the moment.