刚刷到一篇讲 Unix spell 怎么在 64kB 内存里跑起来的老文,挺上头。那年代没什么花活,工程师得把词典一层层压、把每个字节算计清楚,拼写检查才跑得动。写出来的不是功能堆砌,是手艺活。
这让我想到现在开源圈子的毛病。一个工具动辄几百 MB 依赖,npm install 一下拉来半面墙的包,跑个 hello world 比当年整个 spell 都费内存。开源最黄金那阵子,靠的就是"小"立身,一个工具只做一件事,读得懂改得动,才有人愿意 fork 了接着玩。现在不少项目胖成怪兽,新人光把环境配明白就得三天,贡献者直接被挡在门外。
我不是说大伙儿该回去写 64kB 程序,那不现实。但愿意给功能做减法、给依赖画条红线,本身就是对用的人尊重。好工具的第一美德,是不打扰你。现在这些项目,有几个还记得这条?