来自新智元
嘴炮大师,Linux 之父 Linus Torvalds 最近又喷人了!GitHub 是基于 git 进行版本管理和代码开源的网站,并且 Linus 也是 git 之父,所以 Linus 可以说是 GitHub 之父之父(误)。这次事件的起因是 Paragon 软件为 Linux 内核开发了一个 NTFS 文件系统的读 / 写驱动程序代码,在 commit 时写了一个错误的 message,导致 Linus 火气飙升。NTFS 是 Windows 原生的文件系统,Paragon 的文件系统实现能够提高 Linux 和 Windows 文件的互操作性,而现有驱动程序的写支持能力不足。邮件中还对 GitHub 明褒暗贬,「GitHub 哪都好,就是 merge 不行」。并表示 GitHub 的 merge 只会「创造完全无用的垃圾合并」。Linus 强调说明,Linux 内核的合并需要在符合规则的情况下进行,这就意味着所提交的消息应包含:
1、正在合并的内容以及为什么合并这些内容
2、还需要确切的作者身份和提交者信息等
但 GitHub 把这些都给省略掉了,在 Linux 的 kernel.org 中,可以看到这些信息一目了然。Linus 的这种「直」性格能够极大的提升工作效率,一封邮件就把以后 Linux 相关的 merge 问题解决了,而他的金句也有很多。2000 年 8 月 25 日,在讨论关于内核线程优化的问题时,一个人提出了一个他认为非常高效的方案,但 Linus 并不认同,觉得这个人有点喜欢打嘴炮,也不想辩论了,直接看代码解决好了!这句话也深受广大程序员的认可,广为流传。2007 年时,有位名为 Dmitry Kakurin 的开发者在查看了 Git 源代码并发现其使用的是纯 C 而非 C++ 后,他表示不可理喻,于是发帖喷道(太年轻了,敢和 Linus 喷):「完全没有什么可移植性,代码就是一坨屎。」BS 的意思就是 bullshit。Linus 称,C++ 标准太复杂导致不合格使用者太多,容易误用和滥用语言特性。C++ 语言想解决的问题都不对路,都是一些皮毛问题,而没有涉及真正深层次的问题。C++ 的对象、模板和函数重载都基本上纯粹是 C 的语法扩展,是语法糖,总体上把 C 的语法和类型系统都弄得更糟。他建议,在系统编程里直接用 C 就可以,非系统编程里,应该选择一种有垃圾收集的语言,C++ 语言的特性基本无用,只会捣乱。因此,什么时候 C++ 都不可能是正确的选择。C++ 是狗屎,根本没啥设计,只是在 C 上面加了些渣滓而已。面向对象解决的都是一些小问题。这种设计没有考虑到 Linux 系统,导致用户安装 Linux 系统后遇到无法解决的显卡驱动问题,而且更麻烦的是 Nvidia 又卖大量芯片给 Android 用,就导致了那句经典名言。Linus 上文说的是「NVIDIA 一直是我们与硬件制造商之间遇到的最严重的问题之一。」
参考资料:
https://lore.kernel.org/lkml/CAHk-=wjbtip559HcMG9VQLGPmkurh5Kc50y5BceL8Q8=aL0H3Q@mail.gmail.com/
感谢您的阅读,也欢迎您发表关于这篇文章的任何建议,关注我,技术不迷茫!小编到你上高速。
最后,关注公众号互联网架构师,在后台回复:2T,可以获取我整理的 Java 系列面试题和答案,非常齐全。
一个人学习、工作很迷茫?