ESI那三十行伪代码最近又被翻出来讨论。我觉得这件事真正有意思的是,它把"软件长期保存"从图书馆问题变成了协议问题。
过去我们谈数字遗产,下意识想到的是把光盘、磁带、源码存在恒温恒湿的仓库里。但ESI走得更彻底:它假设千年后的硬件、操作系统、编译器全都不复存在,只剩下一个能读懂三十行逻辑的人。只要这三十行还能被复现,整个生态就有机会被重新解释。这不能简单说成技术妥协,更像是对"软件文明是否有权自我延续"的重新定义。
它刻意避开x86、RISC-V这些具体ISA,把虚拟机设计成一种"计算公理"。这有点像把基本运算法则刻进碑文,而不是依赖某本印刷教材。从某种角度看,这种极简主义的真正野心在于,让编译器和解释器升格为文明基础设施。
不过这个思路也带来一个值得推敲的倒逼:如果应用层继续隐式依赖OS内核、驱动、特定运行时,那千年后照样跑不动。所以ESI真正推动的,可能是一种"契约式编程"——接口和语义先于实现,每一层只承诺自己能解释的行为,不承诺背后的环境。
作为产品经理,我几乎是在围观一场"兼容性"概念的重构。不是向后兼容,而是向文明兼容。