程序原本(八):计算系统——数,以及对数据的性质的思考(数据的确定性总是以其生存周期为背景的)

阅读数:19 2019 年 9 月 28 日 17:27

程序原本(八):计算系统——数,以及对数据的性质的思考(数据的确定性总是以其生存周期为背景的)

从计算机存储设备的角度来看,所谓的数据其实只是一个个单元格(Cells)8,例如内存中的某几个位置。如果我们的数据“永远确定”,则意味着这些单元格要永远存留并且不可变化。这当然不可能,因为不可能有永远的或者无尽的存储。因此任何在计算系统中的数据都存有生存周期的问题,我们讨论的确定与不确定——或者你可以(暂时地)看成常量与变量——是以其生存周期为背景的。一旦离开这个背景,则标识仍可能存在,但讨论数据“确定与否”便不存在意义。

8 这一概念 (Cells) 引自 Peter Van Roy 的著作 _Concepts, Techniques, and Models of Computer Programming_。在本书的附录中,对这一概念的提出以及它与语言范型之间的关系作出了进一步的释义。

生存周期是一个数据的性质,亦或是运算系统的性质在数据上的投影?这是一个哲学化的命题。但现在,我们可以仅仅将它当成不同视角带来的理解差异。以我们当前所需要的——我的意思是数据的——视角,我们可以认为那仅仅是计算系统的性质。例如一个进程的生存周期,即是该进程中数据的生存周期——对于数据来说,生存周期只是其背景的、自然的规律。

因为生存周期是有限的,所以“数据确定”是可能的。例如我们以一个确定的空间(我们通常称为 Buffer,或 Cache,或特定内存块)来存放数据,那么我们可以在数据填满这个空间之前保证任何数据的确定性。

评论

发布