程序设计语言概念(影印版)

程序设计语言概念(影印版)
作 者: 米切尔
出版社: 高等教育出版社
丛编项: 国外优秀信息科学与技术系列教学用书
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: C++
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  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.

内容简介

本书对现代程序设计语言所运用的主要概念进行了讲解,如函数、类型、内存管理和控制。本书独到之处在于论述全面,对几种主要的面向对象程序设计语言均作了对比。另有几章讲述了对象发展历史、Simula和Smalltalk、优秀程序设计语言C++和Java。???作者讲解了基本性问题,如λ–微积分和符号语义学,并以易读的、自然的风格呈现,侧重描述这些理论的主要内涵。高级论题包括并发性与并发面向对象程序设计。有单独一章逻辑程序设计,分析针对几种问题的特殊化程序设计语言方法的重要性。???本书可以使读者了解编程语言的设计中所进行的权衡,并对他们所使用的程序设计语言的优势和弊端有更好的理解。???本书适用于高等院校计算机及相关专业本科高年级或研究生的程序设计语言类课程,对从事程序设计的专业人员也有很好的参考价值。

图书目录

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