程序原本(二十五):语言及其面临的系统——从功能到系统(结构化:四种等级的本质)

阅读数:32 2019 年 9 月 28 日 18:10

程序原本(二十五):语言及其面临的系统——从功能到系统(结构化:四种等级的本质)

我何以将开发规模分为上述四种等级呢?因为这四种等级随计算机应用的演进历史发展而来,具有各自不同的特性和表现。

功能(function)是计算机的本质能力,它包括最初的计算能力,以及计算能力在数学抽象上的、最大粒度的表达。这类语言的目仅仅是“完成计算”,其特性集中在对计算机的计算能力的抽象和实现上。一般来说,一门语言只要具有:

  • 数(number)的定义
  • 数据(data)的定义
  • 计算能力(formula/expression)
  • 逻辑能力(顺序、分支与循环)
  • 一个计算过程的约定(命令式、函数式或其他计算范式)

那么它就已经是一门这样的语言了。这在个级别上,最大规模以引入函数这一抽象概念为止(即具有将一系列的计算过程定义为函数的能力)。因为函数等同于“数学定理”,所以他可以像一个公式或运算元一样直接使用。而这样的语言被创生的目的,通常是通过计算能力(包括函数)与逻辑能力,对一系列的数——亦即数据进行计算。因此可以将之定义为:

p+f(d)

即,“计算范式 + 计算能力 (数据)”:

复制代码
Paradigm + Function(Data)

出于表达的需要,我将这一等级上的语言统称为“计算语言”(computing language)。需要注意的是,一般来说计算语言并不适合应用软件开发,而只是数学与计算机科学在应用于跨学科研究领域中的工具。

接下来三种等级以计算语言为源起,是语言设计在结构化这种思想下的、两种方向上的发展结果,如图 3 所示。

图 3 “应对开发规模”的结构化求解:四种等级的本质

程序原本(二十五):语言及其面临的系统——从功能到系统(结构化:四种等级的本质)

评论

发布