抽屉最底下,居然躺着个硬纸板套子。《中文Foxpro 2.5b For Windows》。黄得跟旧报纸似的,封皮脆得一碰就掉渣。里面还夹着张草稿纸,边角卷得死紧,跟薯片没两样。刚碰这玩意儿那会儿,头一件事就是死磕“建表”。姓名字符型,年龄数值型,入职日期卡死日期型。一个漏了,程序立马甩脸色罢工。挺逗的,是不是?咱们这辈子,指不定也在偷偷给自己建表呢。只是没人教过,这表建错了,怎么改字段。
数据库的逻辑,不就是“结构先行”么。字段一锁死,数据才能往里填。咱们打小,不就被这套规矩腌透了?二十来岁,谁心里没盘算过一张人生清单?学历。工作。买房。结婚。恨不得全打上“必填”,再套个数据类型。总以为按部就班填下去,人生这表就能跑得跟刚开箱的电脑一样丝滑。可日子呢?日子压根不吃这套。算好的“数值型”进度,说卡就卡,中间硬生生蹦出好几串乱码。该填“日期型”的节点,愣是拖拖拉拉不响应。有回我盯着屏幕上那一串红得刺眼的报错代码,突然就乐了。生活这东西,可能压根就不是靠语法写的。你硬套公式,只会把自己绕进死胡同。
后来慢慢咂摸出点味儿。Foxpro 那股子死板的严谨,本来就是给机器看的。真让人用,反而硌得慌。机器认死理,非得分清每个格子装几斤几两。人呢?人的情绪哪有什么固定字节。遗憾和惊喜搅在一块儿,拿手术刀都切不开。咱们总爱给日子打索引、建视图,图个以后好查好找,随时能调取。可仔细琢磨,半夜里突然戳你一下的,全在那些没被定义的“备注”栏里。加班熬到凌晨三点,突然就馋家里那口热汤。或者脑子一热递了辞呈,转头在马路牙子上撞见认识多年的老友,俩人愣是扯了半小时没头没尾的闲篇。这些破事儿,导不进数据库,也跑不出像样的报表。它们就在那儿干耗着。像硬盘角落里的临时文件,占着空间,从来不跟你讲什么路径逻辑。
说句掏心窝子的,我以前可是“结构化”的忠实信徒。上班这几年,越折腾越觉得,越是死磕人生的字段,深夜躺床上心里越空落落的。咱们花大把精力折腾自己的“表结构”。考证,攒资源,铺路线。连日程表都排成严丝合缝的色块,生怕漏掉一秒钟。可日子本来就是活的。它不管你表建得多漂亮,照样不按你的格式往里塞。有回挤地铁,看窗外倒退的霓虹,我突然就懵了。下一站到底该停哪儿?真不知道。周末大扫除,翻出几年前买回来一直没拆的书,书签还死死按在原来那页。这些瞬间,没法贴标签,更统计不出个所以然。它们就是硬生生发生了。然后咱们就这么着,一边吭哧吭哧建表,一边看着日子从指缝里往外溢水。道理大概就这么个意思。未必全对,但挺真实。
记得书里讲屏幕排版那章,老教人怎么把界面弄得横平竖直。标签对齐,按钮居中。当年觉得这叫讲究。现在回头看,这分明是给自己穿防弹衣。生怕别人看出点破绽。咱们太习惯给生活搭“界面”了。朋友圈非得凑够九张图才发。简历上恨不得把关键词堆成山。酒桌上把客套话练得滴水不漏。全是为了显得日子有条理,过得精致。界面擦得再亮堂,底下跑的数据,只有自个儿心里清楚。那些没来得及排版的、糙的、甚至有点难看的瞬间,才是真在后台默默跑的进程。别太迷信那些光鲜的界面。底子漏风,也没啥大不了的。
再瞅瞅抽屉里那本旧书。Foxpro 2.5b 早进了历史博物馆。语法被新框架拍在沙滩上,连当年那帮老程序员,估计都改行做产品经理了。可那种“先建表,后录入”的执念,还悄悄藏在骨子里。总以为人生设计得越精密,越不容易翻车。可说不定呢?允许字段留白,允许数据乱序,允许有些日子根本跑不出像样的报表。这才是正经活法。日子从不按字段录入。但只要你还在往里填东西,表就永远活着。至于最后能不能查出来,能不能导出张漂亮的账单,拉倒吧。我也觉得没那么大关系。活过,填过,就够了。