出版時間:2004-08-01 出版社:高等教育出版社 作者:[美]JOHN C. MITCHELL 頁數(shù):529 字數(shù):650000
Tag標簽:無
內(nèi)容概要
本書對現(xiàn)代程序設計語言所運用的主要概念進行了講解,如函數(shù)、類型、內(nèi)存管理和控制。本書獨到之處在于論述全面,對幾種主要的面向?qū)ο蟪绦蛟O計語言均作了對比。另有幾章講述了對象發(fā)展歷史、Simula和Smalltalk、優(yōu)秀程序設計語言C++和Java。 作者講解了基本性問題,如λ–微積分和符號語義學,并以易讀的、自然的風格呈現(xiàn),側(cè)重描述這些理論的主要內(nèi)涵。高級論題包括并發(fā)性與并發(fā)面向?qū)ο蟪绦蛟O計。有單獨一章邏輯程序設計,分析針對幾種問題的特殊化程序設計語言方法的重要性。 本書可以使讀者了解編程語言的設計中所進行的權(quán)衡,并對他們所使用的程序設計語言的優(yōu)勢和弊端有更好的理解。 本書適用于高等院校計算機及相關(guān)專業(yè)本科高年級或研究生的程序設計語言類課程,對從事程序設計的專業(yè)人員也有很好的參考價值。
作者簡介
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.
書籍目錄
PrefacePart 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 ExercisesPart 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 ExercisesPart 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 ExercisesPart 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 SummaryAppendix A Additional Program Examples A.1 Procedural and Object-Oriented OrganizationGlossaryIndex
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載