假如整個Windows都是一個人寫的,那他需要多久能寫完?
來自專欄太閣講堂4 人贊了文章
這個問題是我們在Quora上閑逛時偶然遇到的,覺得非常有意思,分享給大家。儘管Windows有很多不完美的地方,但是它依舊是世界上使用人數最多(超過80%),最穩定的操作系統。本文的參考鏈接你可以在文章底部看到。
假如,有一位代碼天才,他有一個夢想,就是靠自己的雙手寫出一個Windows 10系統。求:他需要花多久才能寫完?
其他的先不管,我們首先來看看Win10的代碼量有多少。據估計,Win10里至少有2700萬-5000萬行代碼。
那寫一行代碼需要多長時間呢?我們要先假設這位「編程天才」掌握了所有必需的語言,技術,庫,協議,標準,向後兼容性需求等等。如果設碼代碼速度為每小時30行,那麼寫出2700萬-5000萬行代碼就需要90萬-160萬小時。當然,這也是在產出的代碼里沒有bug的前提下計算出的數字。
但是沒有bug是不可能的,如果把處理bug的時間算進去的話(據估計,每1000行代碼里會出現15-20個Bug,也就是說在你寫的Win10代碼里,會出現 40萬-100萬個Bug),就算是天才,你也需要13,500-33,333小時的Debug時間。正常情況下,我們會反覆修正直到bug數減少到0。但這裡我們只迭代一次就行了。所以,寫完Windows的總時間在913,500-1,699,999小時之間,換成年的話,就是104.2年-193.93年。
對了,上面的時間都沒有算進休息/睡覺/吃飯消耗的時間。如果我們嚴格按照每日八小時工作制來算,那麼這個數字就會上升到312.6年-581.8年。其實,我們還忽略了編譯時間和機器故障。
如果這位天才從出生的時候就被上帝賜予了知識、溝通技能和控制身體的能力,可以立刻開始碼代碼,他只需要活到600歲就可以寫出Windows了。
但是開發Windows不僅僅需要寫代碼。
在微軟工作的Noam Ben-Ami表示,Windows 10擁有大約40-45個Feature團隊,每個團隊里有大約32個工程師(這還不包括測試者,產品經理等等)。它從大約2013年開始開發,到2015年7月末正式上線,開發時間在兩年半左右。假設先前的代碼庫重寫了50%,這就意味著我們還需要另外兩年半來寫之前的代碼。那麼我們就可以進行計算:5年*32名工程師*40個團隊,相當於6400年的開發時間。這還不包括系統測試,構建實驗室,用戶界面開發,全球化/本土化工作等等。
所以,這個問題就像在問:我是一個熟練的工程師,我要花多久才能建好長城?
歡迎加入
- 2018產品經理學習交流群 QQ群:793831832
- 互聯網技術求職交流群 QQ群:792254768
- 數據分析與科學交流QQ群:740319838
推薦閱讀:
※一步有資格笑百步嗎?
※win10如何設置顯示縮略圖?
※win10 C盤70個G被佔滿,求助如何清理空間?
※把Windows自帶的「畫圖」程序性能發揮到極致,能做到什麼程度?
※Microsoft Windows ActiveDirectories LDAP獲取所有部門信息列表?
TAG:計算機科學 | MicrosoftWindows | 軟體工程師 |