有一台不会坏掉的电脑,这台电脑上只有vc++6.0,给一个人一亿年的时间,能创造出现在的各种软件吗?

滴血微笑


当然能,我们现在用的软件很多都属于同类型软件,看似很多,其实没有想象的多。在硬件满足的条件下首先要做的是编写工具,然后很多代码可以复用,编写标准库,最后再按需求做各个领域的软件。其实真要一个人做这些只是费点事儿,根本就用不了多长时间[灵光一闪]


李元霸大战吕奉先


大部分回答,洋洋洒洒,好像逻辑很严密,但是都是在胡扯。

这就是互联网喷子的生态系统,脑子里一团浆糊,还什么都敢说,还说得煞有介事,让脑子更一团浆糊的觉得挺有道理。

大部分人根本不懂vc6意味着什么,觉得vc6很弱,好像什么也做不了,其实有windows有vc6,vc6做为一个集成开发环境,已经足够高效地编写任何程序了。

即使现在,很多不用vs直接用cl、gcc等命令直接编译的程序员也多得是。

再有这些回答无一例外都没有以发展的眼光看问题。

他们计算一下现在的某个大的系统的软件行数,然后估算需要多少人力,进而得出一个煞有介事的结果,但是呢,这里面有个致命问题:

1亿个人同时做1年,不等于1个人做一亿年。

因为时间会有累加效果,后来的工作会在原来的工作基础上,技术也会进步。

第一台计算机诞生的时候,重达几十吨,需要无数工人操作,才能完成简单的计算任务。

后来就越来越小,有了汇编语言,又有了C、C++、Java、Python等语言,每一次技术进步,对原有的工作量提升都是指数级的。

按照40年代那台几十吨重的计算机估算工作量,100亿人操作它100亿年,也写不出来一个word文档,因为那时候没有office。

以固定的技术去估算将来,肯定天差地别。

所以,当你站在发展的角度看,一个人对着一台电脑,可能开始他什么也不懂,但是过几年时间他一定可以摸索出来一些东西。

再过几十年,他一定可以知道vc可以做点儿什么。

这样逐发展下去,不用多了,100万年过去,他肯定能熟练使用vc编写代码了。你们想想,人类从南方古猿进化到今天,发展出今天这些科学技术成果,也才百万年而已。你给一个现代人一台电脑有vc6,他100万年学不会编程?

等他学会编程以后,他就可以开发任何东西,而他每开发一个功能,都会对自己下一步有所提高。这是一个累加效应。他开发十年,跟十个人开发一年,完全不同。

这样再开发900万年,足够他重新审视电脑,重新编写出一套语言、操作系统,甚至把电脑拆了,重新制造成一个机器人。

然而,这才刚刚过去了1000万年,他还有9000万年的时间继续向前走呢!

千万不要低估时间的累加效应。再强调一遍,人类出现才不过几百万年,人类进入工业化才不过上百年,你站在那些过去按当时人口和生产力,估算未来,不是井底之蛙吗?


中老师


不能!

首先,一个人一亿年,倒过来换算,一亿人一年,现在全球远不止这么多研发人员,人类累积了这么多年,不可能一年复刻出来,哪怕没有技术障碍。

其次,人不可能是通才,全世界的知识门类太广泛了,一个人学习一亿年都不一定学习得玩。而且有些知识,不是有时间就能学会的,那是需要智商,天赋的。技术能学会一些学科,也不可能可以学会地球全部学科。

所以真给一个人一亿年,也不可能做出多少类别的软件。但那人天赋所在行业软件,可能可以推演得比先进社会先进百倍千倍万倍的出来。


分享到:


相關文章: