计算过程和程序之间的区别?

时间:2015-07-24 20:22:47

标签: sicp

我正在深入研究计算机程序的结构和解释。从头开始,有两个词似乎表示一些特定的概念:计算过程和程序。我有一个简单的问题。在Abelson和Sussman的使用背景下,这些术语的定义是什么?

1 个答案:

答案 0 :(得分:0)

好吧,SICP 意义上的过程是您编写的代码,即使您调用该代码函数或类也是如此。如果该代码定义了对数据的一些操作,而不是数据本身。

程序定义1.1 The Elements of Programming

<块引用>

在编程中,我们处理两种元素:过程和 数据......非正式地,数据是我们想要操作的“东西”,并且 过程是对数据操作规则的描述。

过程和进程之间的对比类似于计算机硬盘驱动器中的程序之间的对比,在它的 RAM 中。存储在您称为可执行文件或脚本的文件中的程序,您启动并在内存中的程序称为进程。该过程的行为将取决于定义它的过程以及它运行的环境:可用资源、评估模型(正常顺序和应用顺序评估将为同一过程生成不同的过程)等。有限过程可能会产生无限过程或由于缺乏资源而无法继续的过程。

我不确定我是否能比这本书更好地解释这一点,所以这里引用了 1.2 Procedures and the Processes They Generate

<块引用>

过程计算过程局部演化的一种模式 过程。它指定了过程的每个阶段如何建立在 前一阶段。我们希望能够就 一个过程的整体或全局行为,其局部演化具有 由程序指定。这是很难做到的 一般,但我们至少可以尝试描述一些典型的模式 过程演变。