07. 编程语言 - 发展和趋势
大约 2 分钟
07. 编程语言 - 发展和趋势
编程语言的逻辑优化
结构化编程(C语言具备)
- 问题:随着程序规模扩大遇到组织方面的问题,如:经常使用分支语句,根据某结果执行一组或另一组指令(逻辑混乱,意大利面条式编程)
- 理念:有序管理分支,将分支(决定接下来应执行哪个指令)限制为一小组行为良好的结构
- 应用:如:for循环、while循环、do while循环、if else语句
自顶向下(top-down)设计(C语言具备)
- 理念:将大型程序分解成小程序
面向对象编程(C无,C++才有)
- 问题:结构化编程在编写大型程序时仍然不足。与强调算法的过程性编程不同,OOP强调的是数据
- 理念:设计与问题本质特性相对应的数据格式
泛型编程(C无,C++才有)
面向对象编程OOP(Object-oriented programming)
- 类和对象:C++中,类是一种规范,描述了这种新型数据格式,对象是根据这种规范构造的特定数据结构
- OOP程序设计方法:首先设计类,它们准确地表示了程序要处理的东西
- 与函数封装区别:程序=数据+算法,函数仅仅是算法,OOP编程将数据和方法合并为类定义
- OOP比起函数更注重对数据的使用,并且有一些多态、重载等的扩展
- 函数式更注重对功能模块的应用
- 优点:可重用代码、信息隐藏、多态等
泛型编程(Generic programming)
- 目标:与OOP目标相同:重用代码和抽象通用概念
- 泛型:术语泛型(Generic)指的是创建独立于类型的代码
- 与OOP区别
- OOP强调数据,泛型编程强调独立于
特定数据类型
- OOP是一个管理大型项目的工具,泛型编程提供了执行常见任务的工具(如对数据排序或合并链表)
- OOP强调数据,泛型编程强调独立于