晚上十一点,手机屏幕一暗。脑子里突然就蹦出个久未联系的老同学。以前我俩,能蹲在烧烤摊边撸串,聊到凌晨三点。现在呢?朋友圈点个赞,都得琢磨半天。怕显得刻意,又怕透着冷淡。真不是感情淡了。纯粹是,咱们早就长岔了。

以前我特轴。觉得好的交情,得像张严丝合缝的数据库表。字段对字段,外键扣外键,谁也别越界。后来在人情世故里摔了几次跟头,才咂摸过味儿来。人本来就是盘根错节的复杂对象。哪能硬塞进死板的表格里?这事儿大概就是这么个意思。关系这东西,本来就是俩活人互相映射出来的。硬对齐?除了硌牙,没别的用。

前阵子翻《对象:关系数据库管理系统原理与实现》。看到“动态模式修改”和“继承语义”这几个词,我差点没把这砖头书扔出去。数据库还能“继承”?还能“动态改”?愣了半晌才回过味。作者这哪是写技术,分明是在跟一个死结较劲呢。关系型数据库骨子里就讲究规矩、求稳。可现实里的人,哪有个定形?今天想搞点别的,明天考个证,后天又琢磨着换条活法。变着花样长。这套系统得干的活儿,说白了就是别把活生生的人硬拍扁成二维表。得留着他们的辈分、交情和那点瞎折腾的劲儿。同时还得让底下的关系模型能稳稳兜住。说句实在的,这书写得挺绕。但理儿是这么个理儿。

这套路,太像咱们糊弄人际关系的手法了。刚出社会那会儿,谁不想把自己严丝合缝地塞进现成的模子里?当个乖乖女、职场老黄牛,或者家里最省心的那个。谁敢轻易改“模式”啊?怕一折腾,现有的朋友、圈子全断了。可人哪能一成不变?我光换行当就换过两三次,从六环外搬到朝阳公园附近,押金都交出去三四回了,爱过几个人后来连微信都删了。心里的底层代码早就悄悄重构了,连注释都懒得写。结果呢?老朋友们还捧着几年前的通讯录,按旧地址来找你敲门。这时候要是硬凑一块儿对表,除了互相硌得生疼,啥也落不着。非得把旧鞋穿出新脚感,纯属自虐。

书里接着扯到“引用语义”和“主动性规则”。大意是系统懒得把数据搬来搬去,干脆留个指针或者引用,松散着,但管用。我琢磨着,这道理搁人身上未必全对,但大体通。能处得长久的交情,靠的恐怕就是这种“引用”。而不是死磕“强依赖”。我不用把十八岁前的自己全掏给你看。你也没必要把我焊死在你记忆里的某个角落。彼此留个引用的接口。留点随时打补丁的余地,这交情反而能熬过时间。当然,我觉得可能未必人人都适用。毕竟不是谁都有耐心维护一个闲置的指针。但留条后路总没错。

说句不怕得罪人的话,我以前特别轴。见不得关系里带点瑕疵。要么一拍即合,要么趁早拉黑。非黑即白。直到在公司里看人走马灯似的换工位,看着家里爸妈渐渐跟不上我的语速,连手机字体都调到了最大,我才算认栽。非逼着俩人结构严丝合缝,那纯属精神暴力。人与人之间那点事儿,真不是关系型数据库。不用时刻端着事务的绝对隔离和一致性。它明明就是个允许并发操作、允许有点冗余、允许随时微调模式的开放系统。爱咋跑咋跑。崩了再重启呗。谁还没个断连的时候。

咱们都在自己的表格里默默改字段。偶尔撞上同一个索引,就凑一块儿喝杯茶。对上了,皆大欢喜。对不上?抛个异常也不耽误事。反正系统没崩,网线还连着呢。就算偶尔断连,拔了重插也就好了。

书合上的时候,外头早就静得连虫鸣都听不见了。我划开手机屏幕,给那老同学甩了句“最近咋样”。没扯什么长篇大论,也不用费劲巴拉地解释我现在到底活成了个什么鸟样。反正消息发出去,能回最好。不回也正常。毕竟大家都有自己的进程在跑。

后来我总算想通了。真正牢靠的关系,压根不是拿铁链子把人捆死。而是彼此递个台阶,让对方在固定的框框里,自己折腾出流动的模样。至于以后会不会彻底岔开,算了吧。留给时间去跑外键检查就行。跑不过去,就当是版本迭代了。各自安好。