來自新智元
嘴炮大師,Linux 之父 Linus Torvalds 最近又噴人了!GitHub 是基于 git 進(jìn)行版本管理和代碼開源的網(wǎng)站,并且 Linus 也是 git 之父,所以 Linus 可以說是 GitHub 之父之父(誤)。這次事件的起因是 Paragon 軟件為 Linux 內(nèi)核開發(fā)了一個 NTFS 文件系統(tǒng)的讀 / 寫驅(qū)動程序代碼,在 commit 時寫了一個錯誤的 message,導(dǎo)致 Linus 火氣飆升。NTFS 是 Windows 原生的文件系統(tǒng),Paragon 的文件系統(tǒng)實現(xiàn)能夠提高 Linux 和 Windows 文件的互操作性,而現(xiàn)有驅(qū)動程序的寫支持能力不足。郵件中還對 GitHub 明褒暗貶,「GitHub 哪都好,就是 merge 不行」。并表示 GitHub 的 merge 只會「創(chuàng)造完全無用的垃圾合并」。Linus 強(qiáng)調(diào)說明,Linux 內(nèi)核的合并需要在符合規(guī)則的情況下進(jìn)行,這就意味著所提交的消息應(yīng)包含:
1、正在合并的內(nèi)容以及為什么合并這些內(nèi)容
2、還需要確切的作者身份和提交者信息等
但 GitHub 把這些都給省略掉了,在 Linux 的 kernel.org 中,可以看到這些信息一目了然。Linus 的這種「直」性格能夠極大的提升工作效率,一封郵件就把以后 Linux 相關(guān)的 merge 問題解決了,而他的金句也有很多。2000 年 8 月 25 日,在討論關(guān)于內(nèi)核線程優(yōu)化的問題時,一個人提出了一個他認(rèn)為非常高效的方案,但 Linus 并不認(rèn)同,覺得這個人有點喜歡打嘴炮,也不想辯論了,直接看代碼解決好了!這句話也深受廣大程序員的認(rèn)可,廣為流傳。2007 年時,有位名為 Dmitry Kakurin 的開發(fā)者在查看了 Git 源代碼并發(fā)現(xiàn)其使用的是純 C 而非 C++ 后,他表示不可理喻,于是發(fā)帖噴道(太年輕了,敢和 Linus 噴):「完全沒有什么可移植性,代碼就是一坨屎?!笲S 的意思就是 bullshit。Linus 稱,C++ 標(biāo)準(zhǔn)太復(fù)雜導(dǎo)致不合格使用者太多,容易誤用和濫用語言特性。C++ 語言想解決的問題都不對路,都是一些皮毛問題,而沒有涉及真正深層次的問題。C++ 的對象、模板和函數(shù)重載都基本上純粹是 C 的語法擴(kuò)展,是語法糖,總體上把 C 的語法和類型系統(tǒng)都弄得更糟。他建議,在系統(tǒng)編程里直接用 C 就可以,非系統(tǒng)編程里,應(yīng)該選擇一種有垃圾收集的語言,C++ 語言的特性基本無用,只會搗亂。因此,什么時候 C++ 都不可能是正確的選擇。C++ 是狗屎,根本沒啥設(shè)計,只是在 C 上面加了些渣滓而已。面向?qū)ο蠼鉀Q的都是一些小問題。這種設(shè)計沒有考慮到 Linux 系統(tǒng),導(dǎo)致用戶安裝 Linux 系統(tǒng)后遇到無法解決的顯卡驅(qū)動問題,而且更麻煩的是 Nvidia 又賣大量芯片給 Android 用,就導(dǎo)致了那句經(jīng)典名言。Linus 上文說的是「NVIDIA 一直是我們與硬件制造商之間遇到的最嚴(yán)重的問題之一?!?/span>
參考資料:
https://lore.kernel.org/lkml/CAHk-=wjbtip559HcMG9VQLGPmkurh5Kc50y5BceL8Q8=aL0H3Q@mail.gmail.com/
感謝您的閱讀,也歡迎您發(fā)表關(guān)于這篇文章的任何建議,關(guān)注我,技術(shù)不迷茫!小編到你上高速。
最后,關(guān)注公眾號互聯(lián)網(wǎng)架構(gòu)師,在后臺回復(fù):2T,可以獲取我整理的 Java 系列面試題和答案,非常齊全。
一個人學(xué)習(xí)、工作很迷茫?
