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

如今来说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?的更多相关文章

  1. 假设有两个包含整数的vector对象,编写一段程序,检验其中一个vector对象是否是另一个的前缀。

    #include<iostream> #include<string> #include<vector> using namespace std; int main ...

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

    作为一个Android新手小白,刚到新公司,最近的工作就是在学习解各类Bug.转型之初,面临各种新知识,会有压力,但是学习的过程是快乐的. 上周刚遇上一类bug,就是应用的内存泄漏问题.最终通过前辈的 ...

  3. 假设写一段代码引导PC开机这段代码是 ? Here is a tiny &quot;OS&quot; :-D

    Hello world -- OS 我找到了华科绍志远博士的相关代码,发现他依据MIT的JOS的boot.S 稍作改动.然后单独剥离出来,能够非常好玩~ 资料下载地址: http://download ...

  4. web笔记全

    1.项目流程与数据库 1.课程体系 阶段1(服务器开发): 项目导入/数据库/JS基础/NodeJS 阶段2(前端核心技术): HTML/AJAX/CSS/bootstrap 阶段3(前端进阶技术): ...

  5. .NET中异常处理的最佳实践(译)

    本文翻译自CodeProject上的一篇文章,原文地址. 目录 介绍 做最坏的打算 提前检查 不要信任外部数据 可信任的设备:摄像头.鼠标以及键盘 “写操作”同样可能失效 安全编程 不要抛出“new ...

  6. .NET中异常处理的最佳实践(转)

    原文出处: CodeProject   译文出处:周见智的博客   欢迎分享原创到伯乐头条 介绍 “我的软件程序从来都不会出错”.你们相信吗?我几乎可以肯定所有人都会大喊我是个骗子.“软件程序几乎不可 ...

  7. 应用程序域 z

    应用程序域(AppDomain)已经不是一个新名词了,只要熟悉.net的都知道它的存在,不过我们还是先一起来重新认识下应用程序域吧,究竟它是何方神圣. 应用程序域 众所周知,进程是代码执行和资源分配的 ...

  8. NET中异常处理的最佳实践

    NET中异常处理的最佳实践 本文翻译自CodeProject上的一篇文章,原文地址. 目录 介绍 做最坏的打算 提前检查 不要信任外部数据 可信任的设备:摄像头.鼠标以及键盘 “写操作”同样可能失效 ...

  9. Python标准模块--importlib

    作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 1 模块简介 Python提供了importlib包作为标准库的一 ...

随机推荐

  1. GLFW库文件配置

    VS2012+windows8下面,vs的默认路径在C:\Program Files(x86)\Windows Kits\8.0 下. 将include\GLFW里.h文件加入vs路径Include\ ...

  2. ln 命令

    ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件. 当我们需要在不同的目录,用到相同的 ...

  3. Jupyter Notebook通过latex输出pdf

    主要步骤 1.将ipynb编译成tex ipython nbconvert --to latex Example.ipynb 2. 修改tex,增加中文支持 在\documentclass{artic ...

  4. 利用boost做string到wstring转换,以及字符集转换 - Error - C++博客

    利用boost做string到wstring转换,以及字符集转换 - Error - C++博客 利用boost做string到wstring转换,以及字符集转换 #include <boost ...

  5. Win7下unetbootin-windows-585工具制作Ubuntu12.04 U盘启动盘

    1.下载unetbootin-windows-585工具,网址如下: unetbootin-windows-585 2.unetbootin-windows-585制作U盘启动盘 准备好1个4G的U盘 ...

  6. g++编译cpp文件

    gdb调试c程序打不到断点的原因可能是编译c文件的时候没有加-g选项,-g选项是编译加debug信息的,不加是打不到断点的 g++编译cpp文件 g++ -g -c *.cpp       编译 g+ ...

  7. 传iWatch 将在7月投入生产,10月出货,支持无线充电、触控、測量脉搏

    今天又有关于 iWatch 的传言传出.据路透社的线人消息称,台湾的广达电脑(Quanta Computer Inc.)将于 7 月開始生产 iWatch.10 月出货,估计推出后首年的出货量为 50 ...

  8. 响应式内容滑动插件bxSlider

    bxSlider特性 1.充分响应各种设备,适应各种屏幕: 2.支持多种滑动模式,水平.垂直以及淡入淡出效果: 3.支持图片.视频以及任意html内容: 4.支持触摸滑动: 5.支持Firefox,C ...

  9. javascript高级知识点——继承

    代码信息来自于http://ejohn.org/apps/learn/. 继承是如何工作的 function Person(){} function Ninja(){} Ninja.prototype ...

  10. QF——iOS沙盒机制

    iOS沙盒机制: 什么是沙盒机制?  点击进入  点击进入 沙盒机制(SandBox)是一种安全体系,它规定了APP的所有文件数据都必须存储在这片区域.所有非代码文件的数据都保存在这片区域. 沙盒里有 ...