程序设计语言的范式主要有以下几种:
1.命令式
2. 函数式
这种模型以数学概念函数为基础,计算被表示为函数求值,问题求解被表示为函数调用。基本结构是函数求值,不存在变量和赋值语句。例如,两个值的加法表示为:
(+30 40)
3. 逻辑式
逻辑程序设计的基础是数据逻辑的原理,该模型由一组关于对象的事实和一组关于对象之间的关系的规则构成。采用这种模型的程序,由关于对象和它们之间的关系(可以由事实和规则推出)的问题构成。采用这种模型,底层的问题求解算法使用逻辑规则由事实和规则推导出答案。
PROLOG 是第三代逻辑程序设计语言,它由三种类型的语句构成:一种语句用于声明有关对象的事实和对象之间的关系;一种语句用于定义对象和它们之间的关系的规则;第三种语句用于对对象和它们的关系发问。
4. 面向对象式
面向对象的观点将世界看作由交互的对象构成,每个对象负责自己的动作。在命令式中,数据对象是被动的,由程序进行操作。在面向对象范型中,对象则是主动的。对象和操作对象的代码绑定在一起,这使得每个对象都负责它自己的操作。采用面向对象范型的语言允许程序员用对象分层体系表示算法。
SIMULA和Smalltalk 是最早的两种面向对象程序设计语言。虽然有些人认为C++是面向对象语言,但我们认为它是“具有某些面向对象特性的”命令式语言。而Java则是“具有某些命令式特性的”面向对象语言。
1.命令式
基于冯·诺伊曼模型对存储在内存中的数值进行操作的顺序指令模型,极大的影响了程序设计语言最常用的模型——命令模型(或称为流程模型)。计算机程序语言中主要的语言都采用了这种范式,如:FORTRAN, COBOL, C, Pascal, C++ 等。
2. 函数式
这种模型以数学概念函数为基础,计算被表示为函数求值,问题求解被表示为函数调用。基本结构是函数求值,不存在变量和赋值语句。例如,两个值的加法表示为:
(+30 40)
最著名的函数式编程语言就是LISP,Haskell。
3. 逻辑式
逻辑程序设计的基础是数据逻辑的原理,该模型由一组关于对象的事实和一组关于对象之间的关系的规则构成。采用这种模型的程序,由关于对象和它们之间的关系(可以由事实和规则推出)的问题构成。采用这种模型,底层的问题求解算法使用逻辑规则由事实和规则推导出答案。
PROLOG 是第三代逻辑程序设计语言,它由三种类型的语句构成:一种语句用于声明有关对象的事实和对象之间的关系;一种语句用于定义对象和它们之间的关系的规则;第三种语句用于对对象和它们的关系发问。
4. 面向对象式
面向对象的观点将世界看作由交互的对象构成,每个对象负责自己的动作。在命令式中,数据对象是被动的,由程序进行操作。在面向对象范型中,对象则是主动的。对象和操作对象的代码绑定在一起,这使得每个对象都负责它自己的操作。采用面向对象范型的语言允许程序员用对象分层体系表示算法。
SIMULA和Smalltalk 是最早的两种面向对象程序设计语言。虽然有些人认为C++是面向对象语言,但我们认为它是“具有某些面向对象特性的”命令式语言。而Java则是“具有某些命令式特性的”面向对象语言。