跳至主要內容

07. 编程语言 - 发展和趋势

LincZero大约 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是一个管理大型项目的工具,泛型编程提供了执行常见任务的工具(如对数据排序或合并链表)