如果你觉得程序员都是像机器人一样冷静、只会敲 0 和 1 的生物,那你就大错特错了。
最近,有人在 Linux 内核源码里做了一次搜索,结果让人大跌眼镜。在这个支撑了全球服务器、超级计算机甚至火星探测器的顶级开源项目中,竟然密密麻麻地写满了各种 F**K 和吐槽。
今天,带你潜入代码的最深处,看看那些顶级大神在写代码时,由于压力过大都留下了哪些“神仙语录”。
程序员的“秘密树洞”
在软件开发中,注释(Comments)本来是用来解释代码逻辑的。它是程序员留给后来者的“路标”,或者是给未来的自己写的“备忘录”。
但在 Linux 这个拥有超过 3000 万行代码的巨型项目中,注释往往成了程序员宣泄情绪的出口。
当你面对一个怎么也调不通的硬件驱动,或者要适配一段极度恶心的旧代码时,键盘上的字母就不再仅仅是代码,而是成了发泄的子弹。
根据非官方的统计(使用 grep 指令在源码库中搜索),Linux 内核里的 F-word 出现频率高得惊人。甚至有一个专门的网站叫“Linux Kernel Monkey”,实时统计内核代码里的各种脏话数量。
这种行为在 IT 圈被戏称为“源码考古”,因为每一句脏话背后,往往都藏着一段让人抓狂的加班往事。
那些被点名的“受害者”
在 Linux 的源码里,最常见的吐槽对象通常是硬件厂商。
由于很多硬件厂商不公开驱动规范,Linux 的开发者只能通过反向工程去猜测硬件的运作逻辑。这种感觉就像是在黑暗中摸索,还要修好一台随时会爆炸的机器。
于是,你在代码里经常能看到这样的注释:
“这个硬件的设计简直是反人类的,写出这种规范的人应该去转行扫大街。”“别问我为什么要在这里加一个延迟(Delay),因为这个芯片如果不休息 10 毫秒它就会自杀。”
除了硬件商,微软也经常是 Linux 注释里的常客。在早期的内核开发中,由于两家公司在操作系统领域是死对头,程序员们经常在处理文件系统兼容性时,顺便在代码里写上一段对 Windows 的“亲切问候”。
带头冲锋的暴君
要说 Linux 源码里的“优美语言”,不得不提 Linux 之父,林纳斯·托瓦兹(Linus Torvalds)。
这位大神以才华横溢和脾气火爆著称。在早年的邮件列表和内核提交记录里,林纳斯经常直接用极度辛辣、甚至带有羞辱性的语言去批评那些写得烂的代码。
他曾公开表示:“我不是一个好人,我也没打算做一个好人。”
这种“暴君文化”在很长一段时间里成了 Linux 开发者的风格。如果你提交的代码质量太差,你可能会在内核仓库里看到 Linus 留下的经典评论:“这段代码写得像屎一样,请把它拿走,别污染了我的内核。”
这种硬核的交流方式虽然有效。逼着大家写出极致的代码,但也确实让内核源码库变成了一个火药味十足的地方。
当极客开始修剪情绪
随着 Linux 逐渐从一个黑客圈的自嗨项目变成全球科技的基石,这些“脏话”开始引起了法律和公关专家的担忧。
2018 年,Linux 社区发生了一件大事。林纳斯宣布暂时离开社区,去学习如何做一个“更有同情心的人”,并引入了《行为准则》(Code of Conduct)。
这意味着,新提交的代码注释里不再允许出现侮辱性的语言。随后,社区开始了一场浩浩荡荡的代码大扫除。一些极其过分的词汇被替换成了更中性的表达,比如用“不合理”代替“愚蠢”。
但有趣的是,很多老极客对此感到不满。他们认为,这些脏话是 Linux 历史的一部分,它们记录了开发者在攻克技术难关时的真实人性。没有了这些吐槽,代码虽然干净了,但也变得冷冰冰的,失去了那种“在战壕里并肩作战”的烟火气。
为什么我们喜欢这些“脏话”?
这其实触及了程序员文化的核心。真实与坦率。
在 IT 领域,Bug 是客观存在的,烂代码也是客观存在的。与其用客套的公关辞令掩盖问题,程序员更倾向于直接指出:“这里有个坑,别跳!”
这些藏在源码里的冷知识告诉我们,即便是在最尖端的科技领域,背后支撑一切的依然是活生生的人。他们会愤怒,会崩溃,会因为一行写不出来的代码在凌晨三点对着屏幕问候对方的祖宗。
当你下次在使用 Linux 服务器或者 Android 手机(基于 Linux 内核)时,请记住,在你流畅的操作界面之下,可能隐藏着几千句来自世界各地顶级大神们带血、带泪、带脏话的吐槽。
代码是冰冷的,但写代码的人是有温度的。每一句被隐藏的脏话,都是极客精神对这个复杂世界的一次小小反抗。