是否空 2010-10-14 |
| |
“是还是不是,这是个问题”。莎翁的这句名言被争论了几百年了,至今仍无定论。为什么呢?因为没有定论。前些时候有过一次“道理越辩越明”的争论,结果呢,和以往所有类似的争论一样,不了了之。到目前为止,道理还是,怎么说呢,越辩越有辩头。 不久前在一次聚会上,经朋友的引荐,认识了一位特有学问的学者。寒暄之后,学者问我是做什么的,我说做点简单的计算机软件。学者说:“哦,0 和 1,张飞卖豆腐,黑白分明。”一句话说得我挺沮丧,可不是吗,二十多年了,也不能说不努力,到头来就折腾这俩数,唯一的好处就是黑白分明,永远都不用为谁是谁非而苦恼。可转念一想,不对呀,谁说我这辈子就折腾这俩数来着。 于是我问学者说您做些什么方面的研究啊,学者说随便研究点哲学。我说:“哦,阴和阳,小葱拌豆腐,一清二白。”说完后,我们俩相互瞪了对方好几眼后都笑了,然后重新握手聊天。 阴阳黑白组成了变幻莫测的太极图,衍生出了二进制,造就了现代的计算机,从此 0 和 1 在我们的生活中就无所不在。 说了半天,到底这 0 和 1 是不是简单的是与非,而且这玩意儿和码字有哪门子关系呀。您别着急,在回答这个问题之前,还得再说两句。 举个例子吧,咱们博客的“个人名片”中有“性别”这么一项。众所周知,性别是个越来越敏感的问题,除了传统的男、女之外,有些人很愿意还有其他的选择,实在没办法时,根本不选也是一种选择(可惜咱这没有这种选择)。仔细想想这其实很自然,作为一个虚拟空间中的博客写手,性别绝对是个无关紧要的属性,完全没有必要注明。回到 0 和 1 的话题,就是除了 0 和 1 ,是与非,男或女之外,也许应该有第三个值。 其实在计算机数据库的理论和实践中,这个问题早就解决了。那就是用空值(null value)的概念来更准确地描述现实世界。用大白话说,在描述这些非 0 非 1,非是非非,非男非女时,直接就说:“不知道”。不填性别就是性别未知;不填年龄就是年龄保密(比 2010 岁好看多了,是不是);不置可否就是不置可否。在现实生活中,这个“空值”所涵盖的空间可要比 0 和 1,是与非加起来还大得多得多。 又说了半天,到底这 0 和 1 是不是简单的是与非,而且这玩意儿和码字有哪门子关系呀。您往下听啊,太有啦! 在博客上码字,特别是在讲道理时,总愿意能做到旁征博引地陈述,心平气和地说理,理直气壮地争辩,还特希望能以理服人,让别人都能同意自己。可实际情况却往往是无可奈何地叹气,气急败坏地反驳。偶尔也会有无理取闹甚至污言秽语的时候。为什么呢,我想大概是因为认定了“凡事都有个是非曲直”这个死理儿。其实要是能使用“空值”的概念,在大多数情况下,码字说理时用两个副词就够了:“旁征博引”和“心平气和”。 偷换一下概念,或用个好听点的词,把视野放宽点儿: 0 和 1 之间实际上有无限多的可能,而 0 和 1 只是两个平常很少用到的极端值。那个空值则代表了 0 和 1 之间的所有值。它们是实际存在的,可具体是什么你也许不知道,而且一般来说,你也不想知道。 …… …… 那天学者对我说:“你玩儿的就俩数,我玩儿的是世间万物”。我说你那世间万物全在我这俩数之间,一样也跑不了。他说何以见得呢?我给他画了这张图,说假设你那世间万物是一条长线(图中的蓝线),我那俩数是条短线(图中的红线)。在图中,经蓝线上的任何一点都可以做一条垂线到红线上,从而找到一个对应的点。所以我说你那世间万物全在我这 0 和 1 之间。不信你到靠近 1 的那地方去看看,一泡猴尿还没干呢。 * 这可是个纯粹的文字游戏,要不然怎么放在“码字练习”栏目里呢,一笑。
|