如果说这个世界不是真实存在的,只是一段代码,迄今为止你发现了哪些bug?
知乎上有一個(gè)這樣的帖子,回答都蠻精彩的,不過(guò)有一個(gè)特別精彩,不明覺(jué)厲的趕腳! ? 知道的太多了,小心被=NULL啊!
http://www.zhihu.com/question/20198823
摘貼如下:
劉斯翔,教法語(yǔ)的計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)生,懂浪漫
張浩然、Si LA、凌小晨? 等人贊同? ? ? ? 給這個(gè)世界寫(xiě)代碼的不是一個(gè)人,而是一個(gè)團(tuán)隊(duì)(這么大的項(xiàng)目,一個(gè)人開(kāi)發(fā)不了)。而且嚴(yán)重懷疑這個(gè)一個(gè)開(kāi)源項(xiàng)目。開(kāi)發(fā)者被我們認(rèn)為是神,所以一神論是不對(duì)的,眾神論才是真理,且凡人是有機(jī)會(huì)成為神的(參悟神道,直到你的神屬性突破某個(gè)級(jí)別)。另外這個(gè)系統(tǒng)使用的應(yīng)該是面向?qū)ο笳Z(yǔ)言編譯的。
現(xiàn)在來(lái)說(shuō)Bug。
? ? ? ? Bug其實(shí)無(wú)處不在,但是眾開(kāi)發(fā)者經(jīng)常性的發(fā)bug fix,致使整個(gè)系統(tǒng)看上去正常運(yùn)行。但是這些bug fix是可以看出來(lái)的。比如:在一個(gè)文明發(fā)展到一個(gè)相當(dāng)高的高度,要打破整個(gè)系統(tǒng)的平衡時(shí),就會(huì)有一個(gè)補(bǔ)丁出來(lái)將其削弱甚至讓它銷(xiāo)往。例如四大古文明。其它三大在后期莫名歸于平淡,而中國(guó)文明也經(jīng)歷了數(shù)次朝代更迭。更離奇的是瑪雅文明,說(shuō)沒(méi)就沒(méi)了,毫無(wú)預(yù)兆。應(yīng)該是開(kāi)發(fā)初期的時(shí)候以為的注重發(fā)展,卻沒(méi)有考慮到設(shè)計(jì)另一種文明與之相制衡,于是開(kāi)發(fā)者只能很頁(yè)面的加入一行“瑪雅文明 = null;”。
回想上個(gè)世界的幾場(chǎng)大戰(zhàn)。一戰(zhàn)后,德國(guó)被榨干了,如果繼續(xù)發(fā)展下去,很有可能日耳曼民族就沒(méi)了。于是在那樣一種不合時(shí)宜的環(huán)境下,安排了一個(gè)不合時(shí)宜的人用不合時(shí)宜的政策引領(lǐng)了該名族的復(fù)蘇。回頭再看,在那么短的時(shí)間內(nèi),以一種扭曲的意識(shí)形態(tài)居然能那么高速的發(fā)展一個(gè)國(guó)家,這就是在強(qiáng)行修復(fù)bug的行為。
? ? ? ? 同樣讓開(kāi)發(fā)者沒(méi)有想到的是他們?yōu)榱诵迯?fù)一個(gè)bug所引入的新的實(shí)例會(huì)有如此強(qiáng)烈的擴(kuò)張性,以至于二戰(zhàn)開(kāi)始了,他們還沒(méi)有來(lái)得及修復(fù)。然后眼看著一個(gè)強(qiáng)大且有野心的德國(guó)瞬間將它的幾個(gè)鄰國(guó)打得潰不成軍。當(dāng)然開(kāi)發(fā)團(tuán)隊(duì)可能認(rèn)為這個(gè)并不可怕,頂多造成幾個(gè)Exception,還不至于是Error,于是放任了一段時(shí)間,一直到東線戰(zhàn)場(chǎng)德國(guó)人打到蘇聯(lián)。
? ? ? ? 這時(shí)問(wèn)題來(lái)了,如果蘇聯(lián)被滅掉,那么當(dāng)時(shí)世界上最大的社會(huì)主義陣營(yíng)就會(huì)垮臺(tái)。開(kāi)發(fā)者意識(shí)到這個(gè)陣營(yíng)的垮臺(tái)所帶來(lái)的問(wèn)題將會(huì)是連鎖性的。因?yàn)轳R克思的那套理論正是在未來(lái)為了制約日漸成熟和強(qiáng)大的資本主義理論而設(shè)計(jì)的。蘇聯(lián)垮了,未來(lái)肯定一家獨(dú)大。屆時(shí)眾人團(tuán)結(jié)一致搞科研,勢(shì)必很快就將現(xiàn)在的系統(tǒng)實(shí)現(xiàn)反編譯,然后修改源代碼重新創(chuàng)造世界,于是這世界的運(yùn)作將不再掌握在開(kāi)發(fā)團(tuán)隊(duì)的手里。《圣經(jīng)》的巴別塔橋段將會(huì)成真。所以,必須要阻止德國(guó)的擴(kuò)張。
? ? ? ? 關(guān)于如何阻止,我相信開(kāi)發(fā)團(tuán)隊(duì)是有分歧的。最簡(jiǎn)單的方法無(wú)異于“軸心國(guó) = null;”,但是問(wèn)題也是顯然的,這樣設(shè)置以后垃圾回收系統(tǒng)提啟動(dòng),以前的日耳曼文明,羅馬帝國(guó)的文明和日本留給后世的所有東西都沒(méi)有了。未來(lái)到哪里去找優(yōu)質(zhì)的片源?且要如何跟后世交代這樣一段突然空白的歷史(此時(shí)跟瑪雅時(shí)代已經(jīng)不同了)。于是開(kāi)發(fā)團(tuán)隊(duì)的第二種方案是”希特勒 = null;“,但是當(dāng)時(shí)的納粹已經(jīng)不是只要靠希特勒才能驅(qū)動(dòng)了,他只是個(gè)精神領(lǐng)袖。
? ? ? ? 所以,最終的結(jié)果是采用一些令人捉摸不透的方式,例如:蘇聯(lián)的斯大林格勒保衛(wèi)戰(zhàn):現(xiàn)在已經(jīng)無(wú)法想象當(dāng)時(shí)的那樣一幫蘇聯(lián)人如何可以戰(zhàn)勝德國(guó)人的虎狼之師,難道真的是幾個(gè)狙擊手(電影《兵臨城下》橋段);美國(guó)參戰(zhàn):我們都知道是日本人炸了珍珠港引起了美國(guó)人參戰(zhàn),但是日本人會(huì)在這樣一個(gè)時(shí)間點(diǎn)選擇如此愚蠢的行為?Bug!而且,美國(guó)人如果要報(bào)仇,直接過(guò)太平洋找日本人就好了,為什么還要同時(shí)對(duì)德國(guó)宣戰(zhàn)呢?你被鄰居家的孩子打了,打鄰居的孩子就好了,干嘛打個(gè)出租車(chē)到五環(huán)外跟他表哥打一架?Bug!
? ? ? ? 最終軸心國(guó)敗了,但是三個(gè)國(guó)家都沒(méi)有亡國(guó),其文明得以保留,各自繼續(xù)發(fā)展經(jīng)濟(jì)。所以,德國(guó)依然有啤酒節(jié),到意大利依然可以看到梵蒂岡,而開(kāi)發(fā)人員還有優(yōu)質(zhì)的日本片源接著擼。一切看似歸于平靜。Bug從來(lái)都仿佛沒(méi)有存在過(guò)。
? ? ? ? 所以如果你相信世界不是真實(shí)的而是一段代碼,一定要明白,這樣大的系統(tǒng)里,一定會(huì)有bug。但是不要試圖尋找,因?yàn)槟阕约阂彩谴anew出來(lái)的,你也是代碼,你發(fā)現(xiàn)的bug很快會(huì)被修復(fù),且你不會(huì)記得任何與這個(gè)bug有關(guān)的事情。讓你忘記bug也是修復(fù)bug所要做的事情。另外有人提到在兩面鏡子之間不斷的做動(dòng)作以期看到系統(tǒng)卡一下這樣的操作,建議不要去嘗試。原因是:
? ? ? ? 這個(gè)系統(tǒng)如此的大,它的內(nèi)存空間也不是你對(duì)著鏡子揮幾下手就會(huì)溢出的,需要正視我們每一個(gè)個(gè)體在如此強(qiáng)大的系統(tǒng)前都是渺小的這一事實(shí)。
曾經(jīng)有人嘗試過(guò)一天擼39次,結(jié)果估計(jì)系統(tǒng)真的卡了一下。然后開(kāi)發(fā)者很快發(fā)現(xiàn)了這個(gè)Bug,于是他被賦值為null,很快垃圾回收系統(tǒng)就把他給收了。相信開(kāi)發(fā)團(tuán)隊(duì)的強(qiáng)大,當(dāng)你給他們找到Bug的時(shí)候,你也會(huì)成為Bug。最初他們能夠把你new出來(lái),也可以把你變回null。
總結(jié)
以上是生活随笔為你收集整理的如果说这个世界不是真实存在的,只是一段代码,迄今为止你发现了哪些bug?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java8中的Stream流式操作总结,
- 下一篇: 印度:农村是IT发展的根据地