编程语言基础概述
1. 面向对象语言
面向对象编程(OOP)是一种组织程序的方式,它涉及识别现实世界或其他对象,然后构建包含展示某类对象所需的所有信息和可读语句的模块。在这样的模块中,类的抽象特征(通过其他对象使用)和隐藏的实现(可更改而不影响其余系统)有明确的分离。
- 起源与发展
- Simula :20世纪60年代,K. Nygaard和O.J. Dahl开发了第一种面向对象语言Simula,用于系统模拟。模拟中的每个子系统都被写成一个对象,由于每个子系统可能有多个实例,因此可以创建类来描述每个子系统,并分配该类型的对象。
- Smalltalk :施乐帕洛阿尔托研究中心通过Smalltalk编程语言推广了OOP。该研究还催生了如今流行的窗口系统。Smalltalk的一大优势是它不仅是一种语言,更是一个完整的编程环境。其技术突破在于证明了仅使用对象和类作为结构就可以创建一种语言,无需将这些概念引入“普通”语言。
- 存在的问题与改进
- 动态特性的局限 :早期的面向对象语言,如Smalltalk,操作调度、分配和类型检查是动态的(运行时)而非静态的(编译时),这导致程序在内存和时间上有过高的开销,阻碍了OOP的广泛接受。而且,静态类型检查对于开发可靠软件越来越重要,因此Ada 83只包含了部分OOP所需的语言特性。
- C++与A