来自:知乎
链接:http://www.zhihu.com/question/30097324
问题:如何向一个外行人解释,一个Windows 系统有多复杂?
比如从代码行数、开发难度,参与人员的数量,开发的时间长度等等角度讲述
回答者:LEE LEE,The 1% that make changes happen.
@可可苏玛
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文件夹,右键,属性。
让他看那个数字一直往上走,就算是完全的外行也已经是超级震撼了。
服务列表
注册表
我还没有全部展开,但看那个滑块……
问题:Larry Sean,只会做简单题 / Wizard / 开心的笑容就是…
十年发展,XP当年装一下几个G搞定,现在Win8代码量已经上亿,架构的变化,性能的提升参见传教士 @可可苏玛 的答案。
然而,经历了这么多个版本的迭代,十年前的软件一个字节不改,放到十年后的系统一样能完美运行。
开发人员的呕心沥血,看不见的复杂度,恕我无法用语言描述。
这是Windows给我最大的震撼。
问题:可可苏玛,求别邀请我回答修电脑相关问题,跪谢
Windows Vista 代码行数约5000万行,算上修正掉的代码估计超过一亿行。内部版本超过上千个。。。每个版本都有所测试。。。为其做出贡献的正式工合约工临时工超过数万人。大概的工程量可能和胡夫金字塔相当_(:3」∠)_
==
按照Word标准A4纸默认打印+Consolas字体+默认字号,每页A4纸可以打印44行代码。考虑到折行问题(假设有30%的代码行数在A4纸上一行打印不完),1.3*5000w=6500w行代码。大概需要148万张A4纸才能打印完。每张A4纸长29.7厘米,算起来大概是4440w厘米,也就是44w米长……440公里23333333333,这还不算上各种修正掉的代码和之后的补丁
==
这是2015年5月5日的Windows 8.1 Pro + VS后的Windows文件夹大小:
哎,话说这个尺寸,16G的Win板子到底是怎么跑起来的呀(逃
问题:Belleve,炼金术士
你可以试着玩一次 LFS,然后配出包管理、图形、各种驱动、桌面、常见软件。
然后你就明白了。
问题:BigPa,less is less
复杂到至今未出现山寨版。
问题:迟功勋,从事外贸工作的非资深电子游戏评论员
我觉得没必要,你把C盘的WIndows文件夹和注册表文件打开让他看看见就够震撼的了,对了,还有服务啊,组策略啊啥的……
问题:Tim Chen
当初没建proxy的时候sdx sync ... (同步所有代码)跑了3天。
问题:Vitamin,两枚滚烫的肾,一颗火热的心。
是不是可以理解为,txt文档录入文字一直要写二十几个GB那么多。100字每分钟,6字母每字,一分钟才600*120%=800个英文字符,800个字符看看占多大地方。
问题:方鸿渐,忐忑的码农
比两弹一星难多了
问题:Wang Edi,http://ASP.NET程序员
我觉得复杂度的解释用代码量和占用空间不是最好的。。。应该说说内存管理,进程管理,操作系统如何启动之类的,Windows Internals那些,光一个启动过程就能把外行人绕晕了。如果有个你不喜欢的女孩和你表白,你就跟她讲EFI,绝对能成功拒绝女孩,她以后再也不会来烦你了(不要问我怎么知道的)
问题:auxten,面向工资编程
这么说吧,干完这一票,你保守可以赚$400,000,000,000(新公司会有溢价)