书籍详情
程序设计语言概念(影印版)
作者:(美)米切尔编
出版社:高等教育出版社
出版时间:2004-08-13
ISBN:9787040157796
定价:¥42.00
购买这本书可以去
内容简介
本书对现代程序设计语言所运用的主要概念进行了讲解,如函数、类型、内存管理和控制。本书独到之处在于论述全面,对几种主要的面向对象程序设计语言均作了对比。另有几章讲述了对象发展历史、Simula和Smalltalk、优秀程序设计语言C++和Java。???作者讲解了基本性问题,如λ–微积分和符号语义学,并以易读的、自然的风格呈现,侧重描述这些理论的主要内涵。高级论题包括并发性与并发面向对象程序设计。有单独一章逻辑程序设计,分析针对几种问题的特殊化程序设计语言方法的重要性。???本书可以使读者了解编程语言的设计中所进行的权衡,并对他们所使用的程序设计语言的优势和弊端有更好的理解。???本书适用于高等院校计算机及相关专业本科高年级或研究生的程序设计语言类课程,对从事程序设计的专业人员也有很好的参考价值。
作者简介
John C.Mithcell is professor of Computer Science at Stanford University.he has been a featured speaker at intermational conferences;has led research projects on a variety of topics.including programming lagnuage design and analysis,computer security ,and applications of mathematical logic to computer science;and has writen more than 100 research articles.Professor Mitchell was s member of the programming language subcommittee of the ACM/IEEE Curriculum 2001 standardization effort and the 202 Program Chair of the ACM Principles of Programming Languages conference.
目录
Part 1 Functions and Foundations
1 Introduction
1.1 Programming Languages
1.2 Goals
1.3 Programming Language History
1.4 Organization: Concepts and Languages
2 Computability
2.1 Partial Functions and Computability
2.2 Chapter Summary
Exercises
3 Lisp: Functions, Recursion, and Lists
3.1 Lisp History
3.2 Good Language Design
3.3 Brief Language Overview
3.4 Innovations in the Design of Lisp
3.5 Chapter Summary: Contributions of Lisp
Exercises
4 Fundamentals
4.1 Compilers and Syntax
4.2 Lambda Calculus
4.3 Denotational Semantics
4.4 Functional and Imperative Languages
4.5 Chapter Summary
Exercises
Part 2 Procedures, Types, Memory Management, and Control
5 The Algol Family and ML
5.1 The Algol Family of Programming Languages
5.2 The Development of C
5.3 The LCF System and ML
5.4 The ML Programming Language
5.5 Chapter Summary
Exercises
6 Type Systems and Type Inference
6.1 Types in Programming
6.2 Type Safety and Type Checking
6.3 Type Inference
6.4 Polymorphism and Overloading
6.5 Type Declarations and Type Equality
6.6 Chapter Summary
Exercises
7 Scope, Functions, and Storage Management
7.1 Block-Structured Languages
7.2 In-Line Blocks
7.3 Functions and Procedures
7.4 Higher-Order Functions
7.5 Chapter Summary
Exercises
8 Control in Sequential Languages
8.1 Structured Control
8.2 Exceptions
8.3 Continuations
8.4 Functions and Evaluation Order
8.5 Chapter Summary
Exercises
Part 3 Modularity, Abstraction, and Object-Oriented Programming
9 Data Abstraction and Modularity
9.1 Structured Programming
9.2 Language Support for Abstraction
9.3 Modules
9.4 Generic Abstractions
9.5 Chapter Summary
Exercises
10 Concepts in Object-Oriented Languages
10.1 Object-Oriented Design
10.2 Four Basic Concepts in Object-Oriented Languages
10.3 Program Structure
10.4 Design Patterns
10.5 Chapter Summary
10.6 Looking Forward: Simula, Smalltalk, C++, Java
Exercises
11 History of Objects: Simula and Smalltalk
11.1 Origin of Objects in Simula
11.2 Objects in Simula
11.3 Subclasses and Subtypes in Simula
11.4 Development of Smalltalk
11.5 Smalltalk Language Features
11.6 Smalltalk Flexibility
11.7 Relationship between Subtyping and Inheritance
11.8 Chapter Summary
Exercises
12 Objects and Run-Time Efficiency: C++
12.1 Design Goals and Constraints
12.2 Overview of C++
12.3 Classes, Inheritance, and Virtual Functions
12.4 Subtyping
12.5 Multiple Inheritance
12.6 Chapter Summary
Exercises
13 Portability and Safety: Java
13.1 Java Language Overview
13.2 Java Classes and Inheritance
13.3 Java Types and Subtyping
13.4 Java System Architecture
13.5 Security Features
13.6 Java Summary
Exercises
Part 4 Concurrency and Logic Programming
14 Concurrent and Distributed Programming
14.1 Basic Concepts in Concurrency
14.2 The Actor Model
14.3 Concurrent ML
14.4 Java Concurrency
14.5 Chapter Summary
Exercises
15 The Logic Programming Paradigm and Prolog
15.1 History of Logic Programming
15.2 Brief Overview of the Logic Programming Paradigm
15.3 Equations Solved by Unification as Atomic Actions
15.4 Clauses as Parts of Procedure Declarations
15.5 Prolog's Approach to Programming
15.6 Arithmetic in Prolog
15.7 Control, Ambivalent Syntax, and Meta-Variables
15.8 Assessment of Prolog
15 9 Bibliographic Remarks
15.10 Chapter Summary
Appendix A Additional Program Examples
A.1 Procedural and Object-Oriented Organization
Glossary
Index
1 Introduction
1.1 Programming Languages
1.2 Goals
1.3 Programming Language History
1.4 Organization: Concepts and Languages
2 Computability
2.1 Partial Functions and Computability
2.2 Chapter Summary
Exercises
3 Lisp: Functions, Recursion, and Lists
3.1 Lisp History
3.2 Good Language Design
3.3 Brief Language Overview
3.4 Innovations in the Design of Lisp
3.5 Chapter Summary: Contributions of Lisp
Exercises
4 Fundamentals
4.1 Compilers and Syntax
4.2 Lambda Calculus
4.3 Denotational Semantics
4.4 Functional and Imperative Languages
4.5 Chapter Summary
Exercises
Part 2 Procedures, Types, Memory Management, and Control
5 The Algol Family and ML
5.1 The Algol Family of Programming Languages
5.2 The Development of C
5.3 The LCF System and ML
5.4 The ML Programming Language
5.5 Chapter Summary
Exercises
6 Type Systems and Type Inference
6.1 Types in Programming
6.2 Type Safety and Type Checking
6.3 Type Inference
6.4 Polymorphism and Overloading
6.5 Type Declarations and Type Equality
6.6 Chapter Summary
Exercises
7 Scope, Functions, and Storage Management
7.1 Block-Structured Languages
7.2 In-Line Blocks
7.3 Functions and Procedures
7.4 Higher-Order Functions
7.5 Chapter Summary
Exercises
8 Control in Sequential Languages
8.1 Structured Control
8.2 Exceptions
8.3 Continuations
8.4 Functions and Evaluation Order
8.5 Chapter Summary
Exercises
Part 3 Modularity, Abstraction, and Object-Oriented Programming
9 Data Abstraction and Modularity
9.1 Structured Programming
9.2 Language Support for Abstraction
9.3 Modules
9.4 Generic Abstractions
9.5 Chapter Summary
Exercises
10 Concepts in Object-Oriented Languages
10.1 Object-Oriented Design
10.2 Four Basic Concepts in Object-Oriented Languages
10.3 Program Structure
10.4 Design Patterns
10.5 Chapter Summary
10.6 Looking Forward: Simula, Smalltalk, C++, Java
Exercises
11 History of Objects: Simula and Smalltalk
11.1 Origin of Objects in Simula
11.2 Objects in Simula
11.3 Subclasses and Subtypes in Simula
11.4 Development of Smalltalk
11.5 Smalltalk Language Features
11.6 Smalltalk Flexibility
11.7 Relationship between Subtyping and Inheritance
11.8 Chapter Summary
Exercises
12 Objects and Run-Time Efficiency: C++
12.1 Design Goals and Constraints
12.2 Overview of C++
12.3 Classes, Inheritance, and Virtual Functions
12.4 Subtyping
12.5 Multiple Inheritance
12.6 Chapter Summary
Exercises
13 Portability and Safety: Java
13.1 Java Language Overview
13.2 Java Classes and Inheritance
13.3 Java Types and Subtyping
13.4 Java System Architecture
13.5 Security Features
13.6 Java Summary
Exercises
Part 4 Concurrency and Logic Programming
14 Concurrent and Distributed Programming
14.1 Basic Concepts in Concurrency
14.2 The Actor Model
14.3 Concurrent ML
14.4 Java Concurrency
14.5 Chapter Summary
Exercises
15 The Logic Programming Paradigm and Prolog
15.1 History of Logic Programming
15.2 Brief Overview of the Logic Programming Paradigm
15.3 Equations Solved by Unification as Atomic Actions
15.4 Clauses as Parts of Procedure Declarations
15.5 Prolog's Approach to Programming
15.6 Arithmetic in Prolog
15.7 Control, Ambivalent Syntax, and Meta-Variables
15.8 Assessment of Prolog
15 9 Bibliographic Remarks
15.10 Chapter Summary
Appendix A Additional Program Examples
A.1 Procedural and Object-Oriented Organization
Glossary
Index
猜您喜欢