Foundations of Object-Oriented Languages: Types and Semantics

本文探讨了面向对象语言的形式基础,帮助读者理解这些语言的基本概念及其设计决策。通过分析现有面向对象语言的特点,特别是类型系统及表达性的障碍,并介绍子类型与子类两个关键特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。 http://blog.youkuaiyun.com/topmvp - topmvp
In recent years, object-oriented programming has emerged as the dominant computer programming style, and object-oriented languages such as C++ and Java enjoy wide use in academia and industry. This text explores the formal underpinnings of object-oriented languages to help the reader understand the fundamental concepts of these languages and the design decisions behind them. The text begins by analyzing existing object-oriented languages, paying special attention to their type systems and impediments to expressiveness. It then examines two key features: subtypes and subclasses. After a brief introduction to the lambda calculus, it presents a prototypical object-oriented language, SOOL, with a simple type system similar to those of class-based object-oriented languages in common use. The text offers proof that the type system is sound by showing that the semantics preserves typing information. It concludes with a discussion of desirable features, such as parametric polymorphism and a MyType construct, that are not yet included in most statically typed object-oriented languages.
http://rapidshare.com/files/50552984/026202523X.rar
Essential concepts of programming language design and implementation are explained and illustrated in the context of the object-oriented programming language (OOPL) paradigm. Written with the upper-level undergraduate student in mind, the text begins with an introductory chapter that summarizes the essential features of an OOPL, then widens the discussion to categorize the other major paradigms, introduce the important issues, and define the essential terms. After a brief second chapter on event-driven programming (EDP), subsequent chapters are built around case studies in each of the languages Smalltalk, C++, Java, C#, and Python. Included in each case study is a discussion of the accompanying libraries, including the essential container classes. For each language, one important event-driven library is singled out and studied. Sufficient information is given so that students can complete an event-driven project in any of the given languages. After completing the course the student should have a solid set of skills in each language the instructor chooses to cover, a comprehensive overview of how these languages relate to each other, and an appreciation of the major issues in OOPL design. Key Features Provides essential coverage of Smalltalk origins, syntax, and semantics, a valuable asset for students wanting to understand the hybrid Objective C language Includes a companion disc with source code and figures from the text. Provides detailed case studies of Smalltalk, Java, C++, C#, and Python and features a side-by-side development of the Java and C++ languages--highlighting their similarities and differences Sets the discussion in a historical framework, tracing the roots of the OOPLs back to Simula 67 Provides broad-based coverage of all languages, imparting essential skills as well as an appreciation for each language’s design philosophy Includes chapter summary, review questions, and exercises in each chapter, and an appendix with event-driven projects. Table of Contents Chapter 1 A Context-Sensitive Introduction Chapter 2 Event-Driven Programming Chapter 3 Smalltalk and the Squeak Environment Chapter 4 C++ and Java Commonalities and Similarities Chapter 5 Additional Concepts from the C++ Language Chapter 6 Visual Studio and the Microsoft Foundation Classes Chapter 7 Java and the Swing Library Chapter 8 C# and the Common Language Infrastructure Chapter 9 Python
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值