刚看完那篇讲Unix spell怎么在64kB内存里跑的文章,挺有意思。很多人第一反应是"代码得多精简",其实相反——spell压根没把整本字典塞进内存。它的招数是把单词哈希成短指纹,再通过管道把比对这活儿甩给sort、comm那几个现成小工具。简单说自己只干校验,脏活外包,内存自然压下来了。其实
这才是Unix哲学最实在的地方:小工具各管一摊,靠管道拼起来干大事。早期开源小而强,根子在这儿,不是靠代码写多短。
现在反了。不少项目恨不得把字典模型界面全怼进一个二进制,看着"全栈",其实丢了组合取胜的本事。怀念spell,该学的不是怀旧,是那种"能不自己干就不自己干"的分工。npm上那些几百行的小包能活,靠的也是这个。你们觉得现在还有多少项目真在这么干?