刚翻到一篇讲 Unix spell 怎么在 64KB 内存里跑拼写检查的文章,越看越觉得这不是技术炫技,是约束硬逼出来的优雅。
那会儿内存就那么点儿,spell 干脆把活拆成管道里的小程序:查字典的查字典,算编辑距离的算编辑距离,每个只干一件事。这其实就是 Unix 哲学那套,也顺手成了开源协作的雏形——小工具各管一摊,拼起来才顶用。反观现在,npm install 一下轻松吃掉几百 MB,依赖一层套一层,树长得比代码还茂盛。算力便宜了,"够用就好"这种判断力反而变贵,太多人懒得想到底需不需要。
我重读这段老代码最大的感触:限制不是敌人。逼你做减法的约束,往往长出最耐用的设计。现在开源项目堆功能、比体积,最缺的可能就是这份克制。