最近看到ESI那个"永恒计算机"项目,说30行伪代码的单指令虚拟机能让今天的软件千年后还跑得动。我第一反应不是激动,是想起工地上那些"一劳永逸"的漂亮设计。图纸看起来极简,但维修成本全甩给了后面接手的师傅。
从某种角度看,把执行层压到极限确实优雅,好像降低了被技术迭代淘汰的风险。但单指令集把内存管理、IO、并发这些现代抽象层全扔了,等于把未来维护者一脚踹回裸计算世界。千年后的开发者要让你的代码跑起来,得先逆向重建整个执行范式。这不像保存遗产,更像把遗产变成一座需要不断破译的考古谜题。
我在夜校写代码不多,但给工地画过施工图。能让图纸十年后还管用的,从来不是线条少,而是图例、标高、材料说明都写清楚。软件遗产也一个道理,可执行性只是底线,"可理解性封装"才是核心。与其赌未来有人愿意复现那30行伪代码,不如现在把RISC-V二进制配上语义注释和形式化规格,让后人不仅跑得了,还能读得懂、改得动。
最靠谱的方舟,往往不是最小的那艘,而是零件最容易找到的那艘。