摘要: 都在喷NixOS文档烂、反人类,其实真相难听得很:习惯了被喂饭的现代程序员,早就不具备阅读工业级手册的能力了。
凌晨两点半,盯着CI流水线上那个阴魂不散的红叉,我连砸键盘的力气都没了。又是版本依赖冲突。旁边新来的应届生还在疯狂敲着打油的WASD键,往Dockerfile里硬塞各种毫无逻辑的补丁,试图让那个用胶水粘起来的屎山再跑一次。
讲个真事,当时我就看着屏幕上那堆深红色的报错字符发呆,觉得我们这帮人简直就像在化粪池里雕花。
我们这一代工程师,号称在改变世界,其实人生有一半时间都在给各种破烂环境配置擦屁股。
这时候要是有人在群里提一嘴NixOS,保准能立刻收获满屏的嘲讽。
“那玩意儿太非主流了,完全是浪费时间。”
“文档写得跟天书一样,狗都不看。”
说实话,听到这种居高临下的评价,我当时就一个感觉。
傲慢,一种被现代框架喂废了之后的、纯粹的傲慢。
很多自诩为技术大牛的人,以为NixOS是这两年刚冒出来的极客玩具,是被几篇水文捧上天的试验品。
这事儿吧,你只要稍微往前翻翻历史,就会觉得现在的整个技术圈子有多荒谬。
Nix早在2003年就诞生了。
比那个天天被人挂在嘴边装逼、动不动就滚挂的Arch Linux还要老。
它根本不是什么车库里脑门一拍搞出来的半成品。
它的核心架构是一篇正儿八经的博士论文。
叫《纯函数式软件部署模型》。
人家Eelco Dolstra在快二十年前,就把环境依赖、版本地狱这些千古难题,直接用严丝合缝的数学模型给劈开了。
然后在这个浮躁的圈子里,它默默无闻地被打磨了将近二十年。
直到2020年左右,才被那些真正被依赖地狱逼疯的资深开发们,从无人问津的角落里翻出来当成了救命稻草。
这就很有意思了。
现在的技术圈是什么德行?
随便搞个什么破皮包框架,套层糊弄人的外壳,发个花里胡哨的官网,恨不得第二天就吹成行业颠覆者 🤡。
可是真金不怕火炼的工业级方案,反而被嫌弃太重、太怪异、不合群。
那些喷NixOS的人,炮火最集中的点永远是说文档太烂。
知乎上随便一搜,全是抱怨连个新手指南都看不懂,对着屏幕抓狂的。
怎么说呢,你看懂了大众对Nix文档的愤怒,大概就能看透现在国内开发环境的彻底降级。
那些骂文档烂的人,大概率这辈子就没正经写过基础库。
更别提给别人用的重型框架写过维护文档了。
他们脑子里的“好文档”,是那种恨不得把饭嚼碎了吐到嘴里的快餐教程。
必须得明确标出来第一步点哪儿,第二步复制哪段代码去运行。
但凡需要他们自己动一下脑子去理解一下系统边界和API的绝对含义,他们就直接裂开。
NixOS给出的大量文档,本质上是工业标准的API手册。
字典从来不会教你如何写散文,它只冷冰冰地告诉你每一个词汇的物理定义。
你非要拿刷短视频的心态去翻一本重型机械的维修手册,看不懂到底是谁的错?
换作是你呢,给你一套绝对隔离、完美复现、永不崩塌的系统级解法,代价仅仅是你要学一点特化的配置语言。
结果绝大多数人宁愿回去抱着那堆随时会原地爆炸的YAML文件痛哭流涕,也不愿意稍微看一眼Nix语言。
天天有人拿Guile那种Lisp方言来踩Nix,简直就是不知所谓。
太真实了,要是拿朴素的主流语言当标准,Nix的接受度顶多是个及格线,但Guile那种纯粹的Scheme方言直接飙到反人类的级别了。
Nix本质上就是一个专门为了配置系统而生的DSL。
它不过就是个稍带一点逻辑的静态配置罢了。
连这点抽象都嫌难,只能天天照抄别人的配置文件,那还敲什么代码。
其实NixOS社区里那帮真正做事的人,偶尔也会把知乎上那些瞎喷的文章转到内部群里。
大家会兴致勃勃地围观一下,分析一下这帮人到底在破防什么。
后来呢?没有然后了。
分析完发现这些长篇大论的讨伐,全建立在连Nix的基本原理都没摸清楚的臆想上。
连按需安装和依赖图谱都分不清,敲着键盘就能给你洋洋洒洒出一篇万字批判。
面对这种满地打滚的噪音,真正的工程师根本连反驳的欲望都没有。
现在整个环境就是这种劣币驱逐良材的死循环。
稍微硬核一点、缺少手把手带路资料的东西,大众就觉得寸步难行,就觉得是设计缺陷。
但这真的是NixOS的致命问题吗?
你品。
我们到底是从什么时候开始产生了一种错觉,认为所有的技术门槛都必须被无限拉低,好让随便培训几个月的人都能零成本上手?
把门槛踩进泥里,换来的是满地的草台班子和一碰就碎的代码。
这就是为什么我们的系统越来越臃肿,每次部署都像是在玩俄罗斯轮盘赌。
NixOS不适合大众使用。
它从头到尾就不该给大众使用。
大部分人需要的只是一个能勉强跑起他们那堆破烂业务逻辑的黑盒,至于这黑盒明天会不会因为上游删了一个包而全线崩溃,他们根本不在乎。
离谱的是,我们明明清楚所有的主流包管理工具都是千疮百孔的破船,依然在上面日复一日地打着恶心的补丁。
懂的都懂,能应付过今天的发版就行了,谁管你什么纯函数式系统模型。
那我们这些还在深夜对着满屏幕的红色报错死磕的人,到底在图什么?
每天在这个屎山一样的生态里缝缝补补,看着那些真正的工业级方案被束之高阁,被外行群嘲。
手腕上蹭在桌边缘的老茧越来越厚,敲出来的东西却越来越像一次性的塑料垃圾。
下一个二十年,难道我们还要在各种包管理器的屎盆子里继续这毫无尊严的狗刨吗?