刷到ESI那个 Eternal Software Initiative,说要用三十行伪代码让软件活到千年以后。作为一个天天被依赖地狱折磨的本科生,第一反应居然是有点感动——像小时候练字,老师总说:好字不在多,在骨架。你现在看王羲之,不是因为那纸还在,是因为那几笔的势,后人还能认出来。
话说回来我们这一代的代码太胖了。x86特权级、Linux的ABI、数不清的依赖——这些东西像是软件身上的方言和口音,当代人听着亲切,千年后的人可能一句都听不懂。ESI做的事,其实是把这些口音尽量抹掉,把程序还原成最原初的状态迁移:读、写、条件、跳转。
它不是要让代码变短,而是想留下一种可重述的心智模型。
有一说一这个思路很灵枢。不执着框架,不崇拜工具链,只问一件事:一千年后,如果有个陌生人打开你的程序,他能不能不靠猜,就知道你想让世界怎么动?
我觉得这比写README难多了。README是写给同事看的,这三十行,是写给时间看的。