【发布时间】:2014-10-12 22:06:12
【问题描述】:
“程序”一词是否与 SICP 中的“操作”一词同义? (例如在下面的章节中。)如果它们不一样,有什么区别,为什么?
更具体地说,“复合操作”和“复合过程”有什么区别?有没有 ?
SICP Chapter 1.1.4 Compound Procedures
这是本书的另一个相关章节:
SICP Chapter 1.2 Procedures and the Processes They Generate
在我看来,在这些上下文中,SICP 中的“运算”一词指的是算术运算(因为到目前为止的示例中没有使用其他类型的运算 - 无论它们是什么一般的运算)。
【问题讨论】:
-
我明白你的意思,我感谢你的建议,我尝试遵循它。我只是假设像 SICP 这样备受推崇的书在使用术语方面是准确的,并且他们使用的术语有明确的定义。就我个人而言,我不会写一篇在我第一次使用时没有明确解释我使用的术语的技术文本,除非熟悉该领域的读者清楚这些术语的含义。但是,由于 SICP 是介绍性文本,因此我希望在术语第一次出现时给出明确的定义。
-
@jhegedus 我认为 SICP 本身不是技术文本。 :) 他们开始使用 Scheme 甚至没有解释它是什么。
-
@jhegedus 对于某些类型的技术文本,这是完全合理的期望。但是,不同的文本确实采用不同的方法;有些人采取更苏格拉底式的方法,在这种方法中,概念的发展和提炼更加有机,直到一个好的、精确的定义被梳理出来。 (The Little Schemer 是另一个很好的例子。)在我看来,SICP 必须采用类似的方法,因为在本书的后面部分中,您将实现 一个方案,你可以看到不同的语言实现如何导致不同的行为(字面意思,...
-
计算机程序的不同结构和解释)。例如,确定“什么是缺点单元”可能很棘手,因为有很多方法可以实现它。或者“什么是变量绑定”,因为不同的实现方法会导致动态作用域,或词法作用域和词法闭包。特定于语言实现的术语有点模糊,因为事情可能会有所不同。
-
这个问题正在 Meta 上讨论:meta.stackoverflow.com/q/284577/3001761
标签: scheme lisp terminology sicp