第六章、程序设计语言

了解程序设计语言及其相关联的方法之间的共性

1 历史回顾

1.1 早期程序设计语言

程序设计语言的发展并没有那没容易,通过自然语言的形式来编写程序是革命性的

  • 机器语言 ->
  • 汇编语言 ->
  • FORTRAN(科学和工程应用) & COBOL(美国海军为商业应用开发的) -> 通过编译器来将高级原语表示成机器语言,另一种代替翻译器的是解释器(interpreter)翻译指令的同时执行指令

1.2 机器无关和超越机器无关

程序设计语言的机器无关特性和解决问题的角度来进行思考的程序来决定的

  • 由于底层及其的设计并不相同,所以对于跨平台来说程序并不兼容
  • 后面由一些国家标准学会和国际化标准组织公布一些标准
  • 但是编程的思想是相同的,高度和平台无关

1.3 程序设计范例

说明性范型 -> 命令型范型 -> 面向对象范型 -> 函数式范型

命令型范型

也称为过程范型,如Python为它的一个子集

  • 是一个开发命令的序列

说明性范型

与命令型范型相对应

  • 通过描述问题,然后通过预先设定好的通用算法来解决问题
  • 一般都是用于特定的领域(政治、经济、环境等)

函数式范型

通过接受输入来完成输出的实体

  • 通过函数的组合来完成程序设计

面向对象范型

将软件看做一个对象的集合,类似一个生态系统

2. 语言实现

2.1 翻译过程

源程序 -> 词法分析器 -> 语法分析 -> 代码生成器 -> 目标程序

多线程

增加了对自身访问的控制能力的数据项成为监控程序(monitor)

离散数学

Prolog 语言

  • 逻辑程序设计