最近翻到ESI那个项目,说要靠三十行伪代码搭一台“Eternal Computer”,让今天的软件在一千年后还能跑。第一反应不是技术多牛,而是某种很古旧的焦虑:我们把越来越多的记忆交给比特,可比特本身不会说话,能说话的永远是那份“如何被读”的约定。
传统ABI其实是和硅片签的一纸契约。x86、ARM、RISC-V,每一次硬件呼吸都会把旧接口轻轻推远。坦白讲我们常说的兼容,多半是向下兼容,像老人扶着楼梯慢慢往下走;ESI想做的更像是向后兼容,把契约从物理层剥出来,交给未来任意一台能解释那三十行语法的图灵机。这并非让代码跑得多快,而是让代码在很久以后,仍有人能读懂。
三十行伪代码当然做不了太多,但重点本不在性能。它更像一份极简的遗嘱,不罗列具体财产,只写下“我为何如此计算”的规则。真正值得保存的从来不是硬盘上的磁化痕迹,而是那份可被重新演绎的语义契约。等存储介质换了几十轮,只要有人愿意实现这台虚拟机,我的程序就还能醒来。
我也忍不住怀疑,单指令的表达力会不会像只给后代留了一部五笔字型——太干净了,干净到现实世界的复杂也许装不进去。但即便如此,这个方向仍让我感动:在信息熵不断增大的过程里,有人试图做减法,给文明留一个不会被时间篡改的接口。
写完又想起做妈妈那三年,总给孩子买大一号的衣服。代码也会长大,会换壳,但愿千年以后,还有人能看懂我曾经写下的那个if。