深度解析:Linus vs. 谷歌员工 - 代码是不是垃圾?
最近,开源社区再次掀起轩然大波,Linus Torvalds与一位谷歌员工的对话引发了广泛关注。 在这次对话中,Linus直言某些代码“垃圾”,并认为inodes已经过时,这一言论引发了许多关于技术实力的思考。 那么,谷歌员工为何技术不过关,这背后究竟隐藏了怎样的内涵?
起因
在标题为 “Have the inodes all for files and directories all be the same” 的邮件中,发布者指出, 在使用 tar 归档文件时,inode 可能仍然发挥作用,Torvalds 则反驳称 inode 已经过时了。 他认为 inode 已经不再是唯一的描述符。他表示,我们不是生活在 20 世纪 70 年代,文件系统已经发生了变化。
原因之一: 有没有远见
Inodes作为Linux文件系统的重要组成部分,在现代计算环境中已经被认为是过去的技术。它可能存在一些局限性, 无法满足当下和未来系统发展的需求。因此,继续沿用Inodes可能会限制Linux内核的发展空间,导致技术的滞后和系统的不稳定。
谷歌员工只关注眼前问题,而不考虑未来发展的情况,可能是因为在工程实践中面临的时间、资源、业务压力等方面的考量。 在快节奏的工作环境中,有时候难以抽出足够的时间和精力来深入思考和规划长远的技术发展方向。
而在linus的眼睛里, 推进linux的发展,保持更少的技术债是第一位。 在他的眼睛里, 现有的inodes更新已经包袱很重了, 还有人继续在过去的屎山上开发。 立刻就爆发雷霆大怒。
原因之二:企业文化
什么样的生产关系决定什么样的生产力。 谷歌依然是互联网习惯, 速战速决, 招人要严格,裁人要迅速。 而linux内核的开发过程中,不存在裁员这一说。 你写的代码质量好, 寿命长,不需要别人帮你擦屁股是第一要素。 谷歌人的代码思路就符合急功近利。写不同代码的时候切换思路就容易被周围环境影响,最近谷歌也一直裁员, 可能还需要这个代码提交影响自己的未来。 把linus惹急了也情有可原。
原因之三: 复制代码
I don’t want to see a single eventfs patch that doesn’t have a real bug report associated with it. And the next time I see you copying VFS functions (or any other core functions) without udnerstanding what the f*ck they do, and why they do it, I’m going to put you in my spam-filter for a week.
复制代码是开源的大忌, 因为你在正确的架构上无法调用到, 又不去想为啥, 理解层次没有到。 这时候要么去请教前辈, 要么继续去悟。 看不明白代码就直接复制过去用, 推进开发进度。 肯定会导致严重事故。 国内的降本增笑, 都是此类原因。 前辈们已经被开猿节流了, 问也找不到人了。 只能霸王硬上弓, 最后成为世界级笑话。 当然linus肯定不会允许这种人的存在。 直接警告, 准备拉黑。
我毕业后跟着架构师学徒的时候, 被强调这些是底线是永远不能打破的。 这就是传统软件开发稳定的重要原因之一。