实例介绍
Concepts in Programming Languages by John Mitchell. 一本国外经典教材,看了之后对编程语言更加理解。费了很多劲才找到的。
Concepts in Programming Languages This textbook for undergraduate and beginning graduate students ex plains and examines the central concepts used in modern programming languages, such as functions, types, memory management, and control The book is unique in its comprehensive presentation and comparison of major object-oriented programming languages. Separate chapters ex- amine the history of objects, Simula and Smalltalk, and the prominent anguages c++ and Java The author presents foundational topics, such as lambda calculus and denotational semantics, in an easy-to-read, informal style, focusing on the main insights provided by these theories. Advanced topics include concur rency and concurrent object-oriented programming. A chapter on logic programming illustrates the importance of specialized programming meth- ods for certain kinds of problems This book will give the reader a better understanding of the issues and trade-offs that arise in programming language design and a better appreciation of the advantages and pitfalls of the programming languages they use John C. mitchell is Professor of Computer Science at Stanford University, where he has been a popular teacher for more than a decade. Many of his former students are successful in research and private industry. He re ceived his ph D. from mit in 1984 and was a member of technical staff at at&T Bell Laboratories before joining the faculty at Stanford. Over the past twenty years, Mitchell has been a featured speaker at international conferences; has led research projects on a variety of topics, including programming language design and analysis, computer security, and appli cations of mathematical logic to computer science; and has written more than 100 research articles. His previous textbook, Foundations for Pro- gramming Languages(MIT Press, 1996), covers lambda calculus, type systems, logic for program verification, and mathematical semantics of programming languages. Professor Mitchell was a member of the pro gramming language subcommittee of the ACM/ieEE Curriculum 2001 standardization effort and the 2002 Program Chair of the aCm principles of programming languages conference CONCEPTS N PROGRAMMING LANGUAGES John c. mitchell Stanford University CAMBRIDGE UNIVERSITY PRESS PUBLISHED BY THE PRESS SYNDICATE OF THE UNIVERSITY OF CAMBRIDGE The Pitt Building, Trumpington Street, Cambridge, United Kingdom CAMBRIDGE UNIVERSITY PRESS The Edinburgh Building, Cambridge CB2 2RU, UK 40 West 20th Street, New York, NY 10011-4211 USA 477 Williamstown Road, Port Melbourne vic 3207, Australia Ruiz de alarcon 13, 28014 Madrid, spain Dock House, The Waterfront, Cape Town 8001, South Africa http://www.cambridge.org o Cambridge university press 2004 First published in printed format 2002 isBN 0-511-03492-X eBook(adobe reader ISBN 0-521-78098-5 hardback Contents Preface page Ix Part 1 functions and foundations 1 Introduction 1.1 Programming Languages 1.2 Goals 1.3 Programming Language History 356 1.4 Organization: Concepts and Languages 2 Computability 2. 1 Partial Functions and computability 10 2.2 Chapter Summary Exercises 16 3 Lisp: Functions, Recursion, and Lists 3.1 Lisp History 18 3.2 Good Language design 20 3. 3 Brief Language overview 22 3.4 Innovations in the Design of Lisp 25 3.5 Chapter Summary: Contributions of Lisp Exercises 40 4 Fundamentals 48 4.1 Compilers and syntax 48 4.2 Lambda calculus 4.3 Denotational semantics 4.4 Functional and Imperative Languages 4.5 Chapter Summary Exercises Contents 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 103 5.5 Chapter summary 121 Exercises 122 6 Type Systems and Type Inference 129 6.1 Types in Programming 129 6.2 Type Safety and Type Checking 132 6.3 Type Inference 135 6.4 Polymorphism and Overloadin 145 6.5 Type Declarations and Type Equality 151 6.6 Chapter Summary 155 Exercises 156 7 Scope, Functions, and storage Management 162 7.1 Block-Structured Languages 162 7.2 In-Line blocks 165 7.3 Functions and procedures 170 7.4 Higher-Order functions 182 7.5 Chapter summary 190 Exercises 191 8 Control in Sequential Languages 204 8.1 Structured control 204 8.2 Exceptions 207 8.3 Continuations 218 8.4 Functions and evaluation order 223 8.5 Chapter summary 227 Exercises 8 Part 3 Modularity, Abstraction, and object-Oriented Programming 9 Data Abstraction and Modularity 235 9.1 Structured Programming 235 9.2 Language Support for Abstraction 242 9.3 Modules 9.4 Generic Abstractions 259 9.5 Chapter Summary 269 Exercises 271 10 Concepts in Object-Oriented Languages 277 10.1 Object-Oriented design 277 10.2 Four Basic concepts in object-Oriented languages 278 Contents 10.3 Program Structure 288 10.4 Design Patterns 290 10.5 Chapter summary 292 10.6 Looking Forward: Simula, Smalltalk C++Java 293 Exercises 294 11 History of objects: Simula and smalltalk 300 11.1 Origin of Objects in Simula 300 11.2 Objects in Simula 303 11.3 Subclasses and Subtypes in Simula 308 11.4 Development of smalltalk 310 11.5 Smalltalk Language features 312 11.6 Smalltalk flexibilit 318 11.7 Relationship between Subtyping and Inheritance 22 11.8 Chapter Summary Exercises 327 12 objects and Run-Time Efficiency: C++ 337 12.1 Design goals and Constraints 337 12.2 Overview of c++ 340 12.3 Classes. Inheritance and Virtual functions 346 12.4 Subtyping 355 12.5 Multiple inheritance 12.6 Chapter summary 366 Exercises 367 13 Portability and Safety: Java 384 13.1 Java language overview 386 13.2 Java Classes and Inheritance 389 13.3 Java Types and Subtyping 396 13.4 Java System architecture 404 13.5 Security Features 412 13.6 Java summary 417 Exercises 420 Part 4 Concurrency and Logic Programming 14 Concurrent and Distributed Programming 431 14.1 Basic Concepts in Concurrency 433 14.2 The actor model 441 14.3 Concurrent ML 14.4 Java concurrency 454 14.5 Chapter Summary 466 Exercises 469 Contents 15 The Logic Programming Paradigm and Prolog 475 15. 1 History of logic Programming 15.2 Brief Overview of the logic Programming Paradigm 47 15. 3 Equations solved by Unification as Atomic Actions 15.4 Clauses as Parts of procedure declarations 482 15.5 Prologs Approach to Programming 486 15.6 Arithmetic in Prolog 492 15.7 Control, Ambivalent Syntax, and Meta-Variables 496 15.8 Assessment of Prolog 505 15.9 Bibliographic remarks 507 15.10 Chapter Summary 507 Appendix a Additional Program Examples 509 A 1 Procedural and Object-Oriented organization 509 Glossary 521 Index 525 【实例截图】
【核心代码】
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论