Git 真的是 Linus Torvalds 兩周寫出來的嗎?
傳說linux系統版本管理以前是BitKeeper版本管理系統免費授權使用,後來BitKeeper因為linux社區的人試圖破解後被收回了免費授權,linus一怒之下兩周寫了個更好的分散式版本控制系統。我覺得如果說真的兩周內寫出來,應該不是他一個人寫的,以他的資歷不用自己動手,應該說他的團隊寫的。大家覺得呢?
兩周?比那短。第一個版本的git是Linus在休假的時候自己一個人搗鼓出來的。http://marc.info/?l=gitm=117254154130732 2005年4月3號開始開發,7號已經self-hosting了,18號就能用來合併linux核心分支了。
可能構思了很久,設計了很久了。編碼實現用了一兩周時間。
linux協作開發很依賴於分散式版本控制,linus本人控制項目的過程中體會和感受應該很多。
好用不好用怎麼設計解決痛點這些形成的過程是背後的時間。開個玩笑,Linus說我偷偷寫了五年的草稿,沒告訴你們而已
兩個星期寫一個git並不算高難度的事情,如其他回答所言,在真正動手開始寫之前,實際上已經考慮了很久了,真正動手的時候,不過是將數月數年考慮的東西反映到現實世界而已,大部分是體力勞動。
我自己現時維護著兩個框架,從著手到release第一個可用於開發的(預覽)版本,基本都是1-2周的時間,同樣的,並不是因為我有多快多牛,只不過是因為要做的事情,都是已經在頭腦中考慮了很長時間的東西,基本架構和大概要做的事情甚至包括一些實現細節心中都是有數的,真正動手的時候,基本就是在做填空題而已。
「在機器上畫一道線,1美元;知道在哪兒畫線,9999美元」。
對於技術專家來說,生產率是來自於對需求的精準掌握。還是引用一下linux的原話吧。引用自slashdot上面的一篇QA文章。
With Git, I think it was a lot about coming at a problem with fresh eyes (not having ever really bought into the traditional SCM mindset), and really trying to think about the issues, and spending a fair amount of time thinking about what the real problems were and what I wanted the design to be. And then the initial self-hosting code took about a day to write (ok, that was "self-hosting" in only the weakest sense, but still).
我們可以看到,其實真正比較重要的是前面的思考和設計過程,而真正的寫代碼時間只用了一天而已。
參考鏈接地址:
Interviews: Linus Torvalds Answers Your Question這篇QA文章還是值得看看的。誰寫的不是github上一清二楚嗎,怎麼跑出一個團隊出來了?
linus 用一天時間寫出了git,然後用了一個月的時間在修改bug。以上是段子,二八原則在軟體行業也是很適用的,80%的功能有20%的核心代碼實現,而80%的時間都用於編寫哪些實現20%功能的代碼。linus 用了一天的時間實現了核心代碼,而其它的時間在做完善。Git 10 周年訪談:Linus 講述背後故事
真的,而且我覺得linus就是一個活著的傳奇,而且他的傳奇並未結束,他完全有能力一周就寫出來的。
樓主估計不是程序員,有能力的都自己動手豐衣足食。
推薦閱讀:
※如何評價知乎用戶秋風(AutumnsWinds)GitHub項目與其他現有項目高度雷同?
※GitHub 是怎樣的一個存在?
※Windows 用戶如何運行一個 GitHub 上的 Python 腳本?
※如何看待GitHub打不開的問題?
※github上有哪些不錯的C# .Net項目?