数据是什么意思? -SICP

时间:2019-08-02 10:59:03

标签: computer-science theory sicp

在我的 SICP 研究期间,我遇到了一个非常有趣的问题:数据实际上意味着什么?这本书给出了以下定义:

  

通常,我们可以认为数据是由选择器和构造函数的一些集合定义的,以及这些   必须履行程序才能成为有效的代表。这种观点不仅可以用来定义有理数之类的“高级”数据对象,还可以用来定义低级对象。

我的问题是,由于今天我们倾向于将数据视为不同类型的对象,例如字符串,数字,表,JSON和XML表示等,因此我们处于抽象水平,而我们并没有真正想到数据。因此,我想知道SICP定义是否已过时,或者我们仍然可以按照此处描述的相同方式查看数据。

1 个答案:

答案 0 :(得分:2)

它仍然有意义。它说基础表示并不重要。例如,使用高级语言的字符串;字符串是表示为以UTF-8编码的连续字节数组,还是表示为UTF-32的32位字的连续数组,甚至表示为链表或绳索(无关紧要的数据)都没有关系结构)。只要找到其长度并检查每个字符,它就是一个字符串数据。 (性能可能有所不同。)对于数据连接而言,唯一重要的是一致的API。