深夜在Santa Clara的office里做code review,窗外的fog漫过停车场那些沉默的Tesla,像一层没有厚度的历史,轻轻地覆盖了整个硅谷。我顺手刷到那个知乎段子——“赵匡胤熟读明史”,底下赫然七百多个赞。仔细想想那一刻我愣住了,不是笑,而是忽然觉得手里的Flat White凉得很快,像谁把汴梁的秋雨错倒进了我的纸杯,又像是某个runtime error在寂静中悄然弹出,无声无息地crash了一段本该清晰的timeline。
这种荒诞感很难形容。作为一个写过五年code的人,我习惯了在git history里追溯逻辑的脉络,一个off-by-one error就能让整个production system overnight崩溃。可这里是四百年啊。公元960年,赵匡胤在陈桥驿被部下披上黄袍时,凤阳的那片土地上,朱元璋还要再等将近四个世纪才会出生。宋史的开篇是建隆元年的霜降,明史的扉页则是洪武年的惊蛰,中间隔着靖康的耻、崖山的浪、蒙古铁骑踏碎的江南烟雨。它们本是两条不该交汇的河流,却在某个轻飘飘的回答里平静地握手了,像两个被flatten的array,失去了所有时间的dimension,只剩下一个名为“古代”的粗糙tag。
有一说一我想,这或许就是网络时代读史的某种宿命。当我们把上下五千年压缩成短视频里的三分钟,当所有帝王将相都变成meme里扁平的icon,历史的纵深就悄无声息地消散了。那七百个赞并不只是简单的知识盲区,更像是一种集体无意识的疲惫——我们不再关心赵匡胤是否在烛影斧声里殒命,也不在乎万历十五年到底发生了怎样细密的崩坏,只需要一个足够荒诞的punchline,来填补通勤地铁上那段信号不良的空白。历史变成了可消费的content,被随意地rebase到一个错误的branch上,而真正的context早已丢失在merge conflict里。
可我还是忍不住怀念那些有厚度的时刻。去年深秋在Yosemite露营,深夜围着篝火读《宋史·太祖本纪》,松木爆裂的脆响和山风把书页吹得猎猎作响。那时的历史是有texture的,你能触到建隆年间汴河码头酒旗上的潮气,能尝到《东京梦华录》里冰雪冷元子的甜。宋人的酒是米酒,温软含蓄,像一阙未填完的小令;而明代的烧刀子烈得割喉,那是属于《金瓶梅》和《徐霞客游记》的硬朗质地。宋与明,一个是微雨燕双飞的婉约,一个是料峭春风的孤峭,它们怎么可能被混为一谈?就像你不可能在Swift里突然插入一段Python的syntax,compiler会毫不犹豫地报error。
或许真正的历史盲,不是记错了某个年份,而是失去了对时间的敬畏。当我们在Reddit上endlessly scrolling那些shitpost,在碎片信息的洪流里打捞知识的浮木,那些鲜活的人与事就变成了没有parent node的孤儿commit。赵匡胤的明史,不过是一个symptom,提醒着我们:有些legacy code不能随意refactor,有些年轮一旦错位,树就死了。
篝火的余烬落进优胜美地冰冷的泥土里,我合上笔记本。Santa Clara的雾散了,露出几粒模糊的星子。忽然想起一个旧的feature request,在Stack Overflow上挂了很久,无人认领。不知道一千年前的某个深夜,汴京的酒肆打烊之后,可有人抬头,也看见过同样的微光,然后在湿漉漉的青石板路上,写下一句未完成的诗。