微信号:programmer_club

介绍:程序员第一自媒体,与你探讨码农人生路上遇到的各类泛技术话题,定期为你推荐码农人生思考、感悟以及启迪!

假如整个Windows都是一个人写的,那他需要多久能写完?

2018-06-24 21:00 程序员之家


这个问题是我们在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年的开发时间。这还不包括系统测试,构建实验室,用户界面开发,全球化/本土化工作等等。

 

所以,这个问题就像在问:我是一个熟练的工程师,我要花多久才能建好长城?

 

本文转载自【BitTiger

参考链接:

https://www.quora.com/If-I-were-a-super-skilled-coder-how-long-would-it-take-me-to-write-the-Windows-10-operating-system

https://www.quora.com/How-many-lines-of-code-does-Windows-10-contain

https://www.quora.com/How-many-lines-of-code-do-professional-programmers-write-per-hour

https://www.mayerdan.com/ruby/2012/11/11/bugs-per-line-of-code-ratio


公众号内回复“1”带你进粉丝群

 
程序员之家 更多文章 Java程序员涨薪必备技能(1-5年必看!!!) 为什么我的儿子不沉迷游戏?一位游戏策划家长的分享 为什么码农要了解业务? 程序员与性生活 震惊!高晓松:世界杯就是一个大骗局?
猜您喜欢 我们与Docker编排的故事 微信拍下违章车辆能领红包后,举报量翻了近五倍! 支付宝小程序尴尬的公测上线了,到底尴尬在哪儿呢? 老板让我把做好的系统给开放了…… 《程序猿日记》——炫耀篇