Microsoft Windows 問世于 1985 年,起初僅僅是 Microsoft-DOS 模擬環境,后續的系統版本由于微軟不斷的更新升級,不但易用,也慢慢的成為家家戶戶人們最喜愛的操作系統。
下面我們從代碼行數、開發難度,參與人員的數量,開發的時間長度等角度來說說,一個 windows 系統有多復雜。
- Windows XP 大約 40,000,000 行代碼。
- Windows Vista 大約 50,000,000 行代碼。
- Windows 7 大約 50,000,000 行代碼。
Windows 7 開發的時候有 23 個小組,每個小組約 40 人,也就是將近 1000 人。這僅僅是 Windows 團隊的人數,其余為其做出貢獻的更是數不勝數。
這 23 個團隊是:
- Applets and Gadgets (小程序和邊欄應用)
- Assistance and Support Technologies (協助和支持技術)
- Core User Experience (核心用戶體驗)
- Customer Engineering and Telemetry (用戶工程和遙測)
- Deployment and Component Platform? (部署和組件平臺)
- Desktop Graphics (桌面圖形)
- Devices and Media (設備和媒體)
- Devices and Storage (設備和存儲)
- documents and Printing (文檔和打印)
- Engineering System and Tools (工程系統和工具)
- File System (文件系統)
- Find and Organize (查找與組織)
- Fundamentals (基礎)
- Internet Explorer (包括 IE8 down-level)
- International (國際化)
- Kernel & VM (內核與虛擬機)
- Media Center (媒體中心)
- Networking – Core (網絡 – 核心)
- Networking – Enterprise (網絡 – 企業)
- Networking – Wireless (網絡 – 無線)
- Security (安全)
- User Interface Platform (用戶界面平臺)
- Windows App Platform (Windows 應用平臺)
Windows Vista 代碼行數約 5000 萬行,算上修正掉的代碼估計超過一億行。內部版本超過上千個...每個版本都有所測試...為其做出貢獻的正式工合約工臨時工超過數萬人。大概的工程量可能和胡夫金字塔相當。
按照 Word 標準 A4 紙默認打印 +Consolas 字體+默認字號,每頁 A4 紙可以打印 44 行代碼。考慮到折行問題(假設有 30% 的代碼行數在 A4 紙上一行打印不完),1.3*5000w=6500w 行代碼。大概需要 148 萬張 A4 紙才能打印完。每張 A4 紙長 29.7 厘米,算起來大概是 4440w 厘米,也就是 44w 米,440 公里,這還不算上各種修正掉的代碼和之后的補丁。
這是 2015 年 5 月 5 日的 Windows 8.1 Pro + VS 后的 Windows 文件夾大小:
導航到 Windows 文件夾,右鍵,屬性。
看到那個數字一直往上走,就算是完全的外行也已經是超級震撼了。
服務列表
注冊表
這還沒有全部展開,但看那個滑塊……
十年發展,XP 當年裝一下幾個G搞定,現在 Win8 代碼量已經上億。然而,經歷了這么多個版本的迭代,十年前的軟件一個字節不改,放到十年后的系統一樣能完美運行。開發人員的嘔心瀝血,看不見的復雜度,恕我無法用語言描述。這是 Windows 給我最大的震撼。