- 内容提要
- 序 1:程序里的世界
- 序 2:最后一层表象
- 关于本书
- 致谢
- 引言:简单的本源
- 篇一:计算系统
- 第 1 章 数,以及对数据的性质的思考
- 第 2 章 逻辑
- 第 3 章 抽象
- 篇二:语言及其面临的系统
- 第 4 章 语言
- 第 5 章 从功能到系统
- 篇三:程序设计的核心思想
- 第 6 章 数据结构:顺序存储
- 第 7 章 数据结构:散列存储
- 第 8 章 执行体与它在执行过程中的环境
- 第 9 章 语法树及其执行过程
- 第 10 章 对象系统:表达、使用与模式
- 篇四:应用开发基础
- 第 11 章 应用开发的背景与成因
- 第 12 章 应用开发技术
- 第 13 章 开发视角下的工程问题
- 第 14 章 应用程序设计语言的复杂性
- 篇五:系统的基础部件
- 第 15 章 分布
- 第 16 章 依赖
- 第 17 章 消息
- 第 18 章 系统
- 篇六:系统的基本组织方法与原理
- 第 19 章 行为的组织及其抽象
- 第 20 章 领域间的组织
- 附一:主要编程范式 及其语言特性关系
- 附二:继承与混合,略谈系统的构建方式
- 附三:像大师们一样思考——从 UML 何时死掉 谈起
- 附四:VCL 已死,RAD 已死
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
1.6 对数据与行为加以标识,是一个系统 可计算 的基本条件
首先,我们需要一个标识符系统来“ 标识 ”所有我们要操作的数据(例如值与引用),以及这些数据的操作方法(例如运算符)。现实是:任何一个不被显式地或隐式地标识的数据,都不可能参与运算过程;任何一个不被标识的行为,都不可能在系统中执行操作 6 。
继续思考这些标识对我们而言是相当有意义的。例如说,我们用 aNum
标识了一个数据,请问这个数据是指 0 呢,还是指 1?或者我们再设问,即使我们用 aNum
标识了数据 1,请问这个数据现在究竟是 0,还是 1 呢?
上面这两个问题看来是文字游戏,但确实是计算机语言和编程中最核心的一些设问。其一,它涉及一个标识是否有其存在价值的问题。亦即是说,数据(包括其操作方法,亦作为数据)是否明确地作为该标识所表明的——内容,亦即数据,亦或者更明确地表述为计算机术语的“值”的——意义而存在 7 。以第一个问题为例,它表明:
aNum
这样的声明仅只是标识了该数据,但不存有值;而当我们使用下面的代码来声明时:
aNum = 0
才表明了这个 aNum
是存有值的。
其二,它涉及计算环境如何认识上述值的问题。我们继续以上述问题为例,上面的声明并不表明这个值是否存有变化的可能。因此下面的代码声明:
var aNum = 0
表明 aNum
是可能变成 1(以及其他的任何数值);而以代码:
const aNum = 0
来声明时,就表明 aNum
是确定的,不可能变更为 1 或其他值。
也就是说,程序中有所谓的变量或常量之分,正是计算环境设问数据 “确定与否” 的种种侧象。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论