刚看到一篇讲 Unix spell 怎么在 64KB 内存里跑拼写检查的文章,挺有感触。那会儿哪有现在动辄几个 G 的运行环境,spell 就是个 shell 脚本,把 look、sort 这些小工具用管道串起来,字典压缩着存,靠"拆碎了拼"把活干完。说白了不是堆代码量,是把问题拆干净。
从某种角度看,这种"够用就好"的克制最见功力。我平时改机车也是这个理,老发动机零件就那么多,只能在给定的约束里想办法,逼出来的方案往往比堆配置更经用。现在随便做个 TODO 应用就引一堆依赖,几 GB 跑个记事本,我这个现实主义者总觉得划不来。
更值得玩味的是,当年那套代码被内存约束逼着做到可移植、可理解,五十年后还能被人读、被人复用。这大概才是开源长青的密码:不是写得炫,是写得让人看得懂、接得住。各位手头有没有那种"小而美"的老工具,一直用着舍不得换的?