首页 理论教育计算机导论:高级语言分类

计算机导论:高级语言分类

【摘要】:高级语言有许多种分类方法。其中,按照描述问题的方式对高级语言进行分类,是最常用的分类方法。按照描述问题的方式分,可把高级语言分成命令型语言、函数型语言、描述型语言和面向对象语言。命令型语言是出现最早和曾经使用最多的高级语言。由于这类高级语言是基于逻辑的,所以也称为逻辑型语言。面向对象的高级语言是目前程序设计语言发展的主流方向。

高级语言有许多种分类方法。常用的高级语言分类方法有:按照设计要求分,按照应用范围分,按照描述问题的方式分,等等。其中,按照描述问题的方式对高级语言进行分类,是最常用的分类方法。

按照设计要求分,可把高级语言分成过程式语言和非过程式语言。过程式语言的主要特征是设计者通过给出一列可以顺序执行的运算步骤,来描述相应的求解过程。FORTRAN语言、COBOL语言、ALGOL语言等是过程式语言的典型代表。非过程式语言的定义是相对于过程式语言来说的,凡是设计者无法表示出求解过程的一列可以顺序执行的运算步骤的语言都是非过程式语言。非过程式语言的典型代表有PROLOG语言、GPSS语言等。例如,用PROLOG语言编写的程序是以逻辑推理为问题求解的基础,而不是通过给出一列可以顺序执行的运算步骤来描述求解步骤的。PROLOG语言程序的执行过程是按照程序语句的逻辑次序来执行的,这种逻辑次序和FORTRAN语言描述的执行过程是完全不相同的。

按照应用范围分,可把高级语言分成通用语言和专用语言。目标专一的语言称为专用语言,目标非专一的语言称为通用语言。专用语言有APT语言等。绝大部分高级语言都属于通用语言。

按照描述问题的方式分,可把高级语言分成命令型语言、函数型语言、描述型语言和面向对象语言。命令型语言是出现最早和曾经使用最多的高级语言。命令型语言的特点是计算机按照该语言描述的操作步骤来执行。换句话说,命令型语言程序中的语句就是要求计算机执行的“命令”。FORTRAN语言、COBOL语言、ALGOL语言、BASIC语言、C语言、PASCAL语言、Ada语言、APL语言等都属于命令型语言。函数型语言的特点是把问题求解过程表示成“块”结构,对调用“块”的调用者来说,每个块有输入数据和经过加工处理后的输出数据。这样,每个“块”的功能就像数学家所说的“函数”的功能,所以这种语言称为函数型语言。LISP语言、ML语言等都属于函数型语言。如果说命令型语言强调的是求解问题的步骤是什么,那么,描述型语言强调的就是问题是什么。描述型语言的特点是设计者给出的是问题的描述,计算机根据对问题描述的逻辑进行处理。由于这类高级语言是基于逻辑的,所以也称为逻辑型语言。PROLOG语言、GPSS语言等都属于描述型语言。(www.chuimin.cn)

程序是要处理现实世界中的问题,如果把现实世界中的事物称作对象,那么每个对象都由一组属性和一组行为组成。如“学生”这个对象的属性就有学号、姓名、年龄、性别等,“学生”这个对象的行为就有注册、登记考试成绩等。在命令型语言等程序设计语言中,一个对象的属性和该对象的行为是分离的,而面向对象语言的基础就是把对象的属性和对象的行为结合为一体进行程序设计。Smalltalk语言、C++语言、Visual Basic语言、Java语言等都属于面向对象语言。面向对象语言是目前最为流行的程序设计语言。上述关于四种高级语言特征和典型语言的讨论总结见表7-3。

表7-3 四种类型高级语言一览表

在上述四种类型的高级语言中,早期是命令型语言占主导地位,通常说的传统程序设计语言主要指的是命令型语言。由于以对象为基础的面向对象的高级语言较传统程序设计语言更符合人类思维和求解问题的方式,所以近10年来,面向对象的高级语言有了长足的发展。面向对象的高级语言是目前程序设计语言发展的主流方向。