Git為何不用C++開發:Linux之父痛貶C++的經典郵件
From: Linus Torvalds (torvalds (at) linux-foundation.org)
Subject: Re: [RFC] Convert builin-mailinfo.c to use The Better String Library.
Newsgroups: gmane.comp.version-control.git
Date: 2007-09-06 17:50:28 GMT (4 years, 8 weeks, 1 day, 20 hours and 54 minutes ago)
2007-9-5,週三,Dmitry Kakurin 寫道:
>從第一次看到Git的原始碼起,就有兩件事如鯁在喉
>1.純C而沒有C++。不知道為啥。別提可移植,
>那都是胡說。
你才是胡說八道。
C++是一門很噁心的語言。但更噁心的還是有一群下三濫的程式設計師在用它,結果弄出來的都是一堆堆的排洩物。坦率地說,就憑可以把那些C++蠢貨擋在門外這一條,就足以證明應該使用C。
換句話說:使用C證明我們神經沒有毛病。我知道Miles Bader曾開玩笑說要“氣死你”,但實際上是當真的。我已經想清楚了,不管是誰,只要他認為這個專案使用C++會比使用C更好,我都更想“呸”他一口,好讓他滾得遠遠兒地,少來干擾我的專案。
C++會導致最最差勁的設計。總是要使用STL、Boost等等這些臭狗屎,還美其名曰“精巧”的語言庫,倒是“幫”你程式設計了,可是卻會導致:
這些狗屎歇菜時無窮無盡的煩惱(說什麼STL,特別是Boost既穩定又好移植,全都是胡扯,胡扯好玩嗎?)
低效的抽象程式設計模型,而且兩年後你才發現某些抽象並不是很有效率,可你的全部程式碼都是在那些物件模型上構建起來的,非重寫程式碼不能解決問題。
這麼說吧,要想弄出一個不錯的、高效的、系統級的而且可移植的C++方案,唯一的結果就是把自己限制住,而這些在C裡面都可以信手拈來。把專案限制用C來開發,意味人們不會搞砸它,也意味著很多程式設計師實際上都理解底層的問題,不會用白痴的“物件模型”把問題搞得無解。
所以真的很抱歉,但對於Git來說,效率一直都是主要目標,C++的“優勢”只能釀成巨大的錯誤。而讓我們有機會對那些看不到這一點的人吐唾沫只不過是它的另一個很大的附加優勢。
如果你想要一個C++寫的VCS,試試Monotone。真的,它使用“真正的資料庫”,用了很多“出色的物件導向庫”,還用了“出色的C++抽象”。恕我直言,這些設計決策雖然可以讓那些CS迷們神魂顛倒,但結果必然是極其噁心、難以維護的大雜燴。
但是,我相信你一定會選它而不是Git。
Linus
原文連結:http://article.gmane.org/gmane.comp.version-control.git/57918
深度閱讀(外鏈噢~,下次記得回來這裡啊~~)
相關文章
- c++經典(轉)C++
- C++經典面試題C++面試題
- 讀Visual C++開發經驗技巧寶典第…C++
- C++ 經典案例1例C++
- OpenCV之C++經典案例OpenCVC++
- 經典C/C++面試題C++面試題
- C++入門(2):為何還學C++?C++
- Linux C++ 開發1 - 搭建C++開發環境LinuxC++開發環境
- C++經典書籍解讀C++
- 郵件開發:接收解析郵件
- C++之父:C++ 的五個普遍誤解(3)C++
- C++之父:C++ 的五個普遍誤解(1)C++
- linux 發郵件Linux
- C++經典程式100例【10】C++
- C++之父:將工作視為一種樂趣C++
- 郵件開發:複雜郵件的一個示例
- c++跨平臺開發經驗C++
- C++ 郵件槽ShellCode跨程式傳輸C++
- 【C++】 55_經典問題分析 四C++
- linux下發郵件的配置Linux
- C++程式設計師必讀的經典著作C++程式設計師
- C/C++的思索 C++之父訪談錄 [上帝的玩笑嗎?] (轉)C++
- Linux之父15年回首:為何企鵝步履維艱Linux
- C++之父Bjarne談C++在2005年(轉)C++JAR
- 郵件開發:DNS、JDNIDNS
- C++面試寶典C++面試
- 用Visual C++編寫電子郵件程式 (轉)C++
- C++之父談C++ :一天之內你就能學會出色使用C++C++
- C/C++筆試經典——連結串列倒序C++筆試
- c/c++經典面試試題及標準答案C++面試
- linux mail利用外部郵箱地址發郵件LinuxAI
- 郵件開發:傳送程式
- 【C++】C++用new和不用new建立類物件區別C++物件
- 發郵件的例子
- C++ 運算子過載講解與經典例項C++
- 許可式郵件營銷為何獲得企業的寵愛
- C++之父B. Stroustrup近期言論 (轉)C++
- C++開發:template,模板C++