假设说这个世界不是真实存在的,仅仅是一段代码,迄今为止你发现了哪些bug?

给这个世界写代码的不是一个人,而是一个团队(这么大的项目,一个人开发不了)。并且严重怀疑这个一个开源项目。开发人员被我们觉得是神,所以一神论是不正确的,众神论才是真理,且凡人是有机会成为神的(參悟神道,直到你的神属性突破某个级别)。另外这个系统使用的应该是面向对象语言编译的。

如今来说Bug。

Bug事实上无处不在,可是众开发人员常常性的发bug fix,致使整个系统看上去正常执行。可是这些bug
fix是能够看出来的。比方:在一个文明发展到一个相当高的高度,要打破整个系统的平衡时,就会有一个补丁出来将其削弱甚至让它销往。比如四大古文明。其他三大在后期莫名归于平淡,而中国文明也经历了数次朝代更迭。更离奇的是玛雅文明,说没就没了,毫无预兆。应该是开发初期的时候以为的注重发展,却没有考虑到设计还有一种文明与之相制衡,于是开发人员仅仅能非常页面的添?一行“玛雅文明 = null;”。

回忆上个世界的几场大战。一战后,德国被榨干了,假设继续发展下去,非常有可能日耳曼民族就没了。于是在那样一种不合时宜的环境下,安排了一个不合时宜的人用不合时宜的政策引领了该名族的复苏。回头再看,在那么短的时间内,以一种扭曲的意识形态竟然能那么快速的发展一个国家,这就是在强行修复bug的行为。

相同让开发人员没有想到的是他们为了修复一个bug所引入的新的实例会有如此强烈的扩张性,以至于二战開始了,他们还没有来得及修复。然后眼看着一个强大且有野心的德国瞬间将它的几个邻国打得溃不成军。当然开发团队可能觉得这个并不可怕,顶多造成几个Exception,还不至于是Error,于是放任了一段时间,一直到东线战场德国人打到苏联。

这时问题来了,假设苏联被灭掉,那么当时世界上最大的社会主义阵营就会垮台。开发人员意识到这个阵营的垮台所带来的问题将会是连锁性的。由于马克思的那套理论正是在未来为了制约日渐成熟和强大的资本主义理论而设计的。苏联垮了,未来肯定一家独大。届时众人团结一致搞科研,势必非常快就将如今的系统实现反编译,然后改动源码又一次创造世界,于是这世界的运作将不再掌握在开发团队的手里。《圣经》的巴别塔桥段将会成真。所以,必需要阻止德国的扩张。

关于怎样阻止,我相信开发团队是有分歧的。最简单的方法无异于“轴心国 = null;”,可是问题也是显然的,这样设置以后垃圾回收系统提启动,曾经的日耳曼文明,罗马帝国的文明和日本留给后世的全部东西都没有了。未来到哪里去找优质的片源?且要怎样跟后世交代这样一段突然空白的历史(此时跟玛雅时代已经不同了)。于是开发团队的另外一种方案是”希特勒
= null;“,可是当时的纳粹已经不是仅仅要靠希特勒才干驱动了,他仅仅是个精神领袖。

所以,终于的结果是採用一些令人捉摸不透的方式,比如:苏联的斯大林格勒保卫战:如今已经无法想象当时的那样一帮苏联人怎样能够战胜德国人的虎狼之师,难道真的是几个狙击手(电影《兵临城下》桥段);美国參战:我们都知道是日本人炸了珍珠港引起了美国人參战,可是日本人会在这样一个时间点选择如此愚蠢的行为?Bug!并且,美国人假设要报仇,直接过太平洋找日本人就好了,为什么还要同一时候对德国宣战呢?你被邻居家的孩子打了,打邻居的孩子就好了,干嘛打个出租车到五环外跟他表哥打一架?Bug!

终于轴心国败了,可是三个国家都没有亡国,其文明得以保留,各自继续发展经济。所以,德国依旧有啤酒节,到意大利依旧能够看到梵蒂冈,而开发者还有优质的日本片源接着撸。一切看似归于平静。Bug从来都仿佛没有存在过。

所以假设你相信世界不是真实的而是一段代码,一定要明确,这样大的系统里,一定会有bug。可是不要试图寻找,由于你自己也是代码new出来的,你也是代码,你发现的bug非常快会被修复,且你不会记得不论什么与这个bug有关的事情。让你忘记bug也是修复bug所要做的事情。另外有人提到在两面镜子之间不断的做动作以期看到系统卡一下这种操作,建议不要去尝试。原因是:

  1. 这个系统如此的大,它的内存空间也不是你对着镜子挥几下手就会溢出的,须要正视我们每个个体在如此强大的系统前都是渺小的这一事实。
  2. 以前有人尝试过一天撸39次,结果预计系统真的卡了一下。然后开发人员非常快发现了这个Bug,于是他被赋值为null,非常快垃圾回收系统就把他给收了。相信开发团队的强大,当你给他们找到Bug的时候,你也会成为Bug。最初他们可以把你new出来,也可以把你变回null。

转自知乎 http://www.zhihu.com/question/20198823#answer-2131222

假设说这个世界不是真实存在的,仅仅是一段代码,迄今为止你发现了哪些bug?

时间: 2024-07-30 22:47:49

假设说这个世界不是真实存在的,仅仅是一段代码,迄今为止你发现了哪些bug?的相关文章

如果说这个世界不是真实存在的,只是一段代码,迄今为止你发现了哪些bug?

给这个世界写代码的不是一个人,而是一个团队(这么大的项目,一个人开发不了).而且严重怀疑这个一个开源项目.开发者被我们认为是神,所以一神论是不对的,众神论才是真理,且凡人是有机会成为神的(参悟神道,直到你的神属性突破某个级别).另外这个系统使用的应该是面向对象语言编译的. 现在来说Bug. Bug其实无处不在,但是众开发者经常性的发bug fix,致使整个系统看上去正常运行.但是这些bug fix是可以看出来的.比如:在一个文明发展到一个相当高的高度,要打破整个系统的平衡时,就会有一个补丁出来将

一团和气的世界未必是真实的

别问十万个为什么.你得习惯了不为什么,这样,才算明白了这个世界. 一本杂志,你辛辛苦苦编好多日子,结果拿到别人手上,没翻几页就扔到一边了.与人相处,你时时为对方着想,人家非但不领你的情,而且还翻脸就不认人.你长得可人,就有人腻歪你的好看.你工作卖命,别人不理解也就罢了,最合适的同事还要说你踩着别人肩膀往上爬. 不管有没有为什么,都不必去问.生活不是你家的狗,总会摇着尾巴向你讨好.其实,生活更多时候是白眼狼,吃着你的,喝着你的,临末,还可能咬上你一口. 生活的哲学是,你觉得委屈,已是痛苦,若在委屈

Android - 通过真实案例学习解内存泄漏问题,最终发现Android原生Bug

作为一个Android新手小白,刚到新公司,最近的工作就是在学习解各类Bug.转型之初,面临各种新知识,会有压力,但是学习的过程是快乐的. 上周刚遇上一类bug,就是应用的内存泄漏问题.最终通过前辈的指点,用了两天的时间(包括今天),来解决了这个问题,并最终发现了Android原生代码的bug(值得开心......).因此将学习的过程总结出来,可以供像我一样的新人参考学习. 一. 问题发现的背景  QA测试发现,多次打开Android系统中设置功能里的某个Activity时,其占用的资源未能释放

监控真实的用户体验,从一行代码开始

最近走访了几家金融行业的用户,金融行业是典型的线上与线下并行的业务形态,而且线上业务会在将来所占的比重越来越高.金融行业的用户意识到,网点的扩张成本高企,而大部分的业务经过简化其实都是可以在网上进行的,因此如果能将大部分业务都通过互联网开展那必然提升利润率. 从科技信息部门的角度来说,服务的客户包括了两类:一类是外部的客户或潜在客户:另一类是内部的客户,即组织内部应用的使用者.不论是对外服务或对内服务的应用,都是需要关注具体的使用者.基于互联网的业务开展,用户都是自助性质的,必然要求产品有非常棒

假设写一段代码引导PC开机这段代码是 ? Here is a tiny "OS" :-D

Hello world -- OS 我找到了华科绍志远博士的相关代码,发现他依据MIT的JOS的boot.S 稍作改动.然后单独剥离出来,能够非常好玩~ 资料下载地址: http://download.csdn.net/detail/u011368821/8006465 原则上仅仅须要两个文件(boot.S mmu.h)就能够,可是我们这里还须要一些附带的虚拟器工具.以及makefile来做实验. 须要提示的就是地址0xb800是显存的开头地址 : ) MOVSB(MOVe String Byt

《如何阅读一本书》

学会一种新知识不如掌握一种获取知识的能力,<如何阅读一本书>就是教会你如何通过书与智者交谈. <如何阅读一本书>-精读 (对应原书页码) Day 1(P7-P51) NO.1 阅读是一种能力(p7-p10)NO.2 阅读是一门艺术(p10-p17)NO.3 阅读的四个境界(p18-p21)NO.4 基础阅读与检视阅读(p22-p35)NO.5 速读的技巧(p36-p41)NO.6 读者是怎样炼成的?(p42-p51)NO.7 练习与预习 Day 2 (P55-P163) NO.8

More Effective C++

条款一:指针与引用的区别 指针与引用看上去完全不同(指针用操作符'*'和'->',引用使用操作符'.'),但是它们似乎有相同的功能.指针与引用都是让你间接引用其他对象.你如何决定在什么时候使用指针,在什么时候使用引用呢? 首先,要认识到在任何情况下都不能用指向空值的引用.一个引用必须总是指向某些对象.因此如果你使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指向任何对象,这时你应该把变量声明为指针,因为这样你可以赋空值给该变量.相反,如果变量肯定指向一个对象,例如你的设计不允许变量为

深入理解JNI

深入理解JNI 本章主要内容 ·  通过一个实例,介绍JNI技术和在使用中应注意的问题. 本章涉及的源代码文件名及位置 下面是本章分析的源码文件名及其位置. ·  MediaScanner.java framework/base/media/java/src/android/media/MediaScanner.java ·  android_media_MediaScanner.cpp framework/base/media/jni/MediaScanner.cpp ·  android_m

[深入理解Android卷一 全文-第二章]深入理解JNI

由于<深入理解Android 卷一>和<深入理解Android卷二>不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容. (出版社排版好的PDF版正在向出版社申请,到时候会通过CSDN下载资源发布) 第2章  深入理解JNI 本章主要内容 ·  通过一个实例,介绍JNI技术和在使用中应注意的问题. 本章涉及的源代码文件名及位置 下面是本章分析的源码文件名及其位置. ·  MediaScanner.java framework/b