关于作者

用户名:上帝没发笑
笔名:上帝没发笑
地区:
行业:其他

日历  

快速登录

+ 用户名:
+ 密 码:

在线留言



技术

访问统计:
文章个数:28
评论个数:53
留言条数:0




Powered by BlogDriver 2.1

沉思者

 

我思故我在

文章

已锁定
此日志的浏览权限已被作者锁定,请同作者联系,发送短消息,如果你的身份符合作者的要求,点击此处可以进行浏览

- 作者: 上帝没发笑 2005年04月4日, 星期一 14:17  回复(0) |  引用(0) 加入博采

朝三暮四
相信你一定听说过"朝三暮四"的寓言:有一只猴子,它的主人说早晨给它4个桃子,晚上给它3个桃子,它非常不满意;然后主人换了一种方案——早晨三个桃子,晚上四个桃子,它很高兴地接受了。

一直很钦佩古人的智慧,他们总能用一些简单的故事揭示深刻的道理。而这则寓言则用来说明一种心理学现象:人们总是期望事物发展的趋势越来越好,而不是越来越糟。这种期望本身没有错误,但却很有可能会影响对事物的真实判断。

人在职场,你或许经历过这样的事情:前半年,你手头有一个重要任务,你拼死拼活,非常出色的完成了公司赋予你的各项工作。老板当时会对你不啬赞扬之声;但后半年,由于任务分配的原因,你工作相对轻松,到年底,开始涨工资,发奖金的时候,由于你最近的分量看起来没有那么重,所以你最终得到的很少。但如果把事情反过来,你上半年,由于任务分配的原因,你工作很轻松,但接近年底的三四个月,甚至一两个月,你突然接到了一个对部门非常重要的项目,你开始加班加点,努力的去完成它。然后年底的时候,你拿到的奖金,以及涨工资的幅度就会很大,甚至超出你的期望。

从整年的情况来看,你做的事情是一样多的,甚至前者比后者更多,但得到的结果和回报却会大不相同。为什么会这样?

几年前,当我和一个我很佩服的同事一起聊天,说起这个现象时,他毫不客气的质疑:"只有猴子才会犯这样的错误"。

聪明者如我那个同事,在他当上老板之后,基本上确实没有这样的问题出现。但从我数年来的职场生涯来看,大多数老板往往都会犯那个"只有猴子才会犯的错误"。

你或许会反驳我:这个很正常,老板们当然都会把奖金和涨工资的幅度给予那个当时对他来讲最重要的人。没错!这绝对是一个理由,因为我原来的大老板就经常念叨一句话:"人的忘性总是很大的,不管你以前做出过多么重要的贡献,如果你最近来看,是个没有价值的人,那么你就是一个没有价值的人。"

我很认可这句话,但实际处理起来,要具体情况具体分析。在我们之前的例子中,年终奖金是用来评估全年贡献的一次奖励,前半年的努力和后半年的努力从对公司的贡献上来讲,并无任何区别,那为何要厚此薄彼呢?因为,如果从操作上讲,奖金半年一发,那么两者得到的结果就会是基本一致的。如果对于这种情况,仍然按照那位老板说的来,就一定会打击一部分人的工作积极性,最终引发管理问题。

结论是,为了公平,这件事可以有两种解决办法:一是缩短奖金颁发或个人表现量化评估的周期,或者取消或削弱年终奖金,重点按照项目或任务来分配奖金。

如果第一点做不到,那就要要求老板能够做到更加聪明了,至少,要比猴子聪明一点。

- 作者: 上帝没发笑 2005年03月25日, 星期五 15:07  回复(3) |  引用(0) 加入博采

Precondition的检测
如果你了解DbC(Design by Contract),你一定知道它的三个主要元素:Invariant,Precondition和Postcondition。对于它们在继承体系中的使用,有一些基本原则,那就是:Invariant和Postcondition可以被子类强化,但对于Precondition,子类只能由两个选择:保持它,或削弱它。

个中原因不需要再解释,如果你了解DbC,你肯定知道为什么。我的问题是:在编程活动中,这些规则如何被实践?

对于Invariant和Postcondition来说,解决方案很简单,把子类与父类的条件进行AND运算就好了。但对于Precondition,条件减弱却没那么容易检测。

曾经看到一个方案建议,通过OR运算进行precondition的检测。比如:

public class Base {
   /**
    * @pre: para > 0;
    */
   public void setValue(int para) {
      assert para > 0;   // precondition checking.
      this.value = para;
   }

   private int value;
}

public class Derived extends Base {
   /**
    * @pre: para > 1;
    */
   public void setValue(int para) {
      assert para > 0 || para > 1; // precondition checking.
      this.value = para;
   }
}

由于OR运算只需要二个条件中的一个通过即可,这看起来确实保持或削弱了super class中的precondition。但,由于precondition是保证method代码正确执行的前提。如果使用上述方法来检测precondition,会隐藏着危险。

比如,Derived的setValue要求para必须大于1,这样其method代码的执行才是安全的。但使用上述方案,将1传递给setValue仍然可以通过precondition检测。随后的代码执行很可能陷入一种不确定的危险状态。

那么,究竟如何做才能既保证precondition是没有被sub-class增强,又能保证通过了precondition检测之后的执行是安全的呢?

以上面的例子为参照,首先的一个事实是,如果Derived::setValue的自己定义的precondition能够通过检测,那么Derived::setValue的执行一定是安全的,所以,每个类方法都应该先检测自己定义的precondition,一旦通过检测,就可以执行自身的method代码。

其次,如果自定义的precondition检测失败,我们不能让方法代码得到执行,因为可能导致不安全的状态。此时,我们应该检测super-class中的precondition,如果它也失败,说明方法调用者,即client没有满足precondition,算是违背了contract,系统进入相应的异常处理。

但,如果super-class的precondition检测通过了,则说明Derived的设计者违背了DbC的原则:即sub-class错误的增强了setValue的precondition。所以系统应该马上中止,并给出相应的信息。

注意,上面的2种情况,前者是client违背了contract,是client代码的错误,但后者却是一个设计错误。在上面的例子中,Derived::setValue的precondition就是一个错误的设计,因为它增强了Base::setValue的前置条件。

下面是按照上述方案实现之前例子的框架代码:

public class Base {

   public void setValue(int para) {
      assert preOfSetValue(para);
      bodyOfSetValue(para);
      assert postOfSetValue(para);
   }
   protected boolean preOfSetValue(int para) {
      return para > 0;         
   }

   protected boolean postOfSetValue(int para) {
      return true;
   }

   protected void bodyOfSetValue(int para) {
      this.value = para;
   }

   private int value;
}

public class Derived extends Base {

   private boolean preOfSetValueNew(int para) {
      return para > 1;
   }

   protected boolean preOfSetValue(int para) {
      if(preOfSetValueNew(para))
         return true;

      if(super.preOfSetValue(para)) {
          System.err.println("Invalid precondition of Derived::setValue");
          assert false;
      }

      return false;
   }
  
}

- 作者: 上帝没发笑 2005年03月4日, 星期五 07:41  回复(0) |  引用(0) 加入博采

轮回中的缘

转载一篇非常不错的文章,《轮回中的缘》,在感叹作者流畅的文笔和巧妙的构思的同时,也为其所蕴涵的深刻内涵而折服。


- 作者: 上帝没发笑 2005年02月17日, 星期四 07:22  回复(4) |  引用(0) 加入博采

“盛世”危言
2005年CCTV春晚的主题是"盛世大联欢",这两年,媒体也在嚷嚷着,现在中国处于"盛世";就连我爸,两年前就说过,在过去,当前的国家状态就算得上是"盛世"了。

"盛世"二字本来是个充满褒扬之字的词汇,但我看到之后,心中却暗生一股不祥之感。且不说,我们的国家还存在着诸多亟待解决的危机和问题,老百姓的幸福指数这两年没有任何上升,反而略有下降;即使仅仅从历史的角度看,"盛世"——比如著名的"开元盛世","康乾盛世"之后,国家却必然陷入动荡和衰落的轮回。

"盛世"在历史上好象总是用来形容国家强盛,人民富足的顶峰时刻。但"月盈则亏",一旦到了顶峰,随后的潜台词就是走下坡路。但你我都清楚,中国当今还远未到可以自满的时候。

或许是中央电视台这些人这两年个人收入步入不菲,就猜想整个国家的老百姓都像他们一样钱袋满盈;或许是中国这两年的GDP增长在全世界风景独好,让国人脆弱的自尊心得到了不小的满足,错以为国家很快就要赶超英美了;或许是国内近些年没有什么大的乱子,要知道中国已经一百多年没这样了,少有的安宁让大家感觉天下从此就真的太平了。于是,在大家的错觉和一些人带有目的的炒作下,颂扬"盛世"之声四起。

且不知,中国的绝大多数老百姓都还很贫穷,不少人甚至一贫如洗,就算东部和首都的人们,这些年房价飞涨,很多老百姓为了一套房子在打拼,压力指数逐年上升,幸福感觉却越来越少了;整个国家的内部危机四伏,很可能一根导火线就能触发社会的大动荡。且不知,GDP的增长是以什么样的代价换来的,另外,GDP的数据并不能完全准确的反映国家经济(你应该听说过两个经济学博士吃狗屎带来GDP增长的笑话),这还不说这些GDP数据中到底有多少是真实的。仅仅从中国经济严重依赖外资这一项来看,GDP和进出口数据中究竟有多少实惠是真正留给我们国家的,就很值得怀疑。且不知,中国的台湾还未统一,台湾离大陆越来越远,台海战争一触即发,而中国的国际环境却险恶的比朝鲜,伊朗好不到哪里——美国虎视耽耽,日本越来越嫉恨中国,俄罗斯,印度就等着看中国的笑话——国家一统的梦想远未到实现的时刻。

国家面临着诸多如此的问题,有何资格,有何面目敢于自称"盛世"。还回到历史上,最起码那时侯的盛世,中国在世界上可以称得上是最强大,最富足的国家,有理由可以骄傲一下,称之为"盛世"并不显得为过。但今天的中国,经过近三十年的改革开放,人均收入却仍然处于一百位之外(且不说对外公布的数据尚有浮夸之嫌),很多中西部的家庭人均年收入尚不足300美金。如果这样的中国都可以自称"盛世",如果不是在掩耳盗铃,自欺欺人,那就只能说脸皮实在厚得了得。

如果今天我们的状况就可以称得上"盛世",那明天怎么办?如果今天就是我们所追求的顶峰,那么中国将永远没有希望重现历史的辉煌,以真正强大的姿态屹立于世界。

作为有着辉煌历史国家的国民,我们理应更加自信,更加冷静,一步一个脚印的去让我们的国家更加强大,国民更加富足。而不是刚刚取得一点成就,别人稍加瞩目,就自以为已在云端了。

我比任何人都希望我们可以理直气壮,毫不心虚的从心底感觉我们的国家确实已在"盛世",很可惜,除了惶恐之外,nothing else.

- 作者: 上帝没发笑 2005年02月15日, 星期二 07:47  回复(4) |  引用(0) 加入博采

代码.可读性.效率

刚刚在网上看到一个帖子,它给出两段宣称分别由日本和中国程序员写的代码片断,用以说明两国程序员的不同素质。


代码如下:

JAPAN:
  Dim gridItemIndex As Integer 'comment
  Dim currentPageIndex As Integer 'comment
  Dim pageSize As Integer 'comment

  gridItemIndex = e.Item.ItemIndex
  currentPageIndex = meisaiIchiran.CurrentPageIndex
  pageSize = meisaiIchiran.PageSize

  Dim updateDataRowIndex As Integer 'comment
  updateDataRowIndex = (currentPageIndex * pageSize) + gridItemIndex
  dt.Rows(updateDataRowIndex).Item(t.BindFldName) = txt

CHINA:
  dt.Rows(.CurrentPageIndex * .PageSize + e.Item.ItemIndex).Item(t.BindFldName) = txt

从代码中可以看得出来,前者的可读性更强,后者的代码更少,执行效率更高。发贴者想用这个例子说明,日本人更讲究纪律,而中国人更加"聪明"。这个问题引起了很多人的争论,我也想凑一下热闹,谈谈自己对这个问题的看法。

大家都知道,代码由人来编写维护,由机器来执行。所以它总是牵扯到问题的两个方面:可读性与运行时效率。这两者在某种程度上是矛盾的。

在早期,机器资源非常有限,所以评判一个优秀程序员的标准是,谁的代码编译后size更小,运行时性能更高。即使在今天,低端嵌入式领域在很大程度上仍然如此。

但对于当代的绝大多数非嵌入式领域而言,机器资源已经不是关键问题,而系统的规模却比以前庞大复杂的多。对于复杂的系统,维护问题显得更加重要。所以,当今行业内对于代码的要求更加偏重于良好的可读性。

对于这个问题的认识,大师们总是先行一步,Dijkstra在1972图灵奖颁奖典礼上就说过:"优秀的程序员很清楚自己的能力是有限的,所以他对待编程任务的态度是完全谦卑的,特别是,他们会象逃避瘟疫那样逃避 ‘聪明的技巧'"。Martin Fowler在他的经典著作《重构》中提到,根据局部性原理,一个系统80%的时间运行在20%的代码上,所以只有一小部分的代码才会面临性能问题,而对于所有的程序,可维护性才是最重要的。对于那些面临性能的问题的代码,重构理论的建议也是,同样要以可维护为目标来编写,然后通过测试来找到真正影响性能的部分,并修改它。换句话说,除非有必要,否则,可维护性就是首要因素。

回到上面的两段代码,前者可读性更强,而可读性是可维护性的一项指标,所以前者更加符合现代代码编写方法的要求。

但是,我个人觉得两段代码都太极端了。"过犹不及"。其实完全可以在不损失可读性的前提下让代码更有效率。我不知道上面代码使用的语言是什么(或许是VB?),Anyway,请允许我冒昧的写出自己的实现。

  Dim updateDataRowIndex As Integer 'comment
  updateDataRowIndex =
           .CurrentPageIndex * .PageSize
           + e.Item.ItemIndex
  dt.Rows(updateDataRowIndex).Item(t.BindFldName) = txt

- 作者: 上帝没发笑 2005年02月10日, 星期四 19:20  回复(1) |  引用(37) 加入博采

英雄的另一面
最近《汉武大帝》热播,激起了我重新阅读历史的兴致。却发现一些我们心中的大英雄原来并没有那么伟大,甚至还有些龌龊。

先说李广。这位被称为"飞将军"的勇士确实有一手绝货,那就是善于骑射,另外,他也确实很冷静,勇敢。但他的战绩却并不良好。从史记中的记载来看,他一生参与与匈奴的战斗七十余次,要么战败,要么掺胜,甚至还有一次被匈奴生擒,由于匈奴爱其才,未杀之,他才找机会逃了回来。通篇来看,李广只是一个很好的将才,技术活玩的很好,并且爱兵如子,下属都很愿意为他卖命,但他却没有指挥千军万马的雄才大略。最终也没有封侯。

英雄并不非得有帅才,也无必要封侯拜相。如果没有史记记载他的两件并不光彩的事情,他仍然可以称得上是一位不折不扣的英雄。

一件事是,当时他因战败而被免职在家,有一天和别人出去打猎归来,到了一个关卡。看守关卡的小头目不让他们通行。李广的下属就对那小头目说,这是"故李将军",这里"故"的意思是"以前的",就象我们现在说"前总统","前国家主席"一样。但那头目那天喝醉了,根本不给面子,说:"今将军尚不得夜行,何乃故尔!"。意思是,"就算是当今将军也不能在晚上通行,更何况前将军!",无奈他们只好在附近找地方住下。后来,李广复出,当了右北平太守,就要求皇上让当年那位小头目和他一块去。到了地方,就把那可怜的家伙给杀了。

另外一件事情是,李广在做陇西太守的时候,羌人造反。他就利诱造反者投降,后来有八百多人相信他就投降了,但他出而反而,当天就把投降的人都杀了。

再说卫青、霍去病。这两位在没有出名之前,都是汉武帝的"弄臣"。熟悉历史的人都知道,汉武帝是个双性恋。现在你知道这两位为什么能得到机会了吧。现在不少历史学家都认为,当时根本没有必要剿灭匈奴,因为连年的征战劳民伤财,国力大伤。这两位当时地位低下,但汉代的规矩是没有军功就无法封侯。汉武帝为了让自己宠幸的人能够提高地位,则给出精兵强将,让发动了大规模的对匈奴战争。

卫青还好,从史记中看,他确实率领千军万马打过不少胜仗,应该是个不错的帅才。但霍去病则不然,为了让他也能打胜仗,汉武帝要求为其配备的都是最优秀的骑兵,从霍去病的"膘骑将军"的封号就能看出来。有了这样的天时、地利、人和,只要你略有才能,不成功才怪。

再看看霍去病做的一件龌龊事。李广六十多岁跟着卫青打仗时,有一次因为迷路而贻误战机,被卫青派人问罪时自杀。李广的儿子李敢后来有一次就为此和卫青发生了冲突,并打伤了卫青,可能卫青觉得这不是什么好事,就暂时忍了下来,没有声张。后来,他们都配皇帝去打猎,因为霍去病是卫青和部下和朋友,就借机射杀了李敢。当时汉武帝也看到了,但因为是自己宠幸的人犯了错,就对大家说是鹿把李敢给撞死了。

这就是历史中记载的几位大牛人物的另一面,或许正是因为有这些事情,才让这些人物显得更加真实。人无完人。即使这样,他们应该仍然算得上是天下无双的豪杰吧。

- 作者: 上帝没发笑 2005年02月4日, 星期五 02:15  回复(7) |  引用(0) 加入博采

或许你就是下一个爱因斯坦

今年是国际物理年。

在一个世纪之前,也就是1905年,当时默默无闻的爱因斯坦发表了5篇论文,一举颠覆了经典物理学的基础,奠定了现代物理学的基础,并掀起了新一轮的物理学研究高潮。但最近的50年,物理学研究趋于沉寂,没有什么重大的新发现;并且随着信息,生命科学的兴起,大量聪明的年轻人投身于这些方向的研究,此长彼消,现在从事物理学研究的新人相对于过去少了很多。一是为了纪念先知对物理学的重大贡献,二是为了鼓励后来者投身于此,国际物理学会建议联合国将2005年定为国际物理年。


19世纪末,当时的物理学界乐观的认为,物理学大厦的骨架已经建成,以后需要做的事情就是添砖加瓦。当时的爱因斯坦由于不认同权威,被认为注定一事无成。他在大学毕业后,无法进入专门的学术机构,只好在伯尔尼专利局找到了一份临时工作。而正是这位不认同权威的,"注定一事无成"的人,却在短时间内做出了别人无法作出的成就,成功的改变了世界,造就了我们今天的认知。

权威,一直是绝大多人尊敬和信任的对象。他们的观点看法会被人们奉为宝典。但,如果所有人都迷信权威,而缺失了自己独立的主张和看法的话,就绝对不会有爱因斯坦的出现。

从历史上看,人类总能够根据当时的认知,去创造一套理论以解释人们当时认识的世界。只要这些理论能够完美的解释人们所认知的现象,并能够为随后的发现所证明。则人们就会认为这套理论便是真理,创造或精通这套理论的人则被认为是权威。

但现实世界的真相到底是怎样的?到今天为止,我们已经发现了很多,但远未到彻底揭开其神秘面纱的时候——

最早人们的认知限于地面和天空,看到太阳东出西落,权威们便提出了"地心说";后来哥白尼发现原来是地球绕着太阳转的,便认为太阳才是宇宙的中心,这便是"日心说";"日心说"一出现,便被当时的权威们认为是"异端",经过将近100年的斗争和证明才被广为接受。由于"日心说"很好的解释了当时人们认知的世界,于是"日心说"便成了权威。但后来却发现,"太阳"不过是银河系中一千多亿颗恒星中的一员罢了。

就物理学而言,牛顿创造的经典力学,可以非常完美的解释当时人们对于"力"的认知,在19世纪末之前,一直被奉为真理。但自从1905年之后,人们就逐渐相信牛顿的理论不过是现代物理学中的一个"侧面"罢了。

那么,我们为什么不能怀疑,或许"相对论"也只不过是真理的一个侧面呢?

作为我们,在面对大师的著作,聆听大师的教诲的时候,必须保持自己独立的判断。不要大师一说"goto是有害的",便吓得从此不敢再看goto一眼。且不说,你是否真正理解了大师的意思。要知道,大师也是人,神尚且有犯错的时候,更何况无法摆脱局限性的人。

一个硬币总有正反两面,大师抛了一次,看到了正面,你为什么不能再抛一次,去发现反面?

"国际物理年"的宗旨也正在于此,希望借此吸引更多的青少年能够参与到物理学的研究中来,能够让另一个——"不迷信权威的",从而能够对物理学做出新的重大发现的——爱因斯坦出现。

或许就是你?

- 作者: 上帝没发笑 2005年02月2日, 星期三 15:04  回复(11) |  引用(0) 加入博采

话语主导权

前段时间,收到一封朋友发来的邮件,里面有一道题——


有3个人去投宿,一晚30元。三个人每人掏了10元凑够30元交给了老板。后来老板说今天优惠只要25元就够了,拿出5元命令服务生退还给他们。服务生偷偷藏起了2元,然后,把剩下的3元钱分给了那三个人,每人分到1元。这样,一开始每人掏了10元,现在又退回1元,也就是10-1=9,3个人每人9元,3 X 9 = 27 元 + 服务生藏起的2元=29元,那么还有一元钱哪里去了???

刚刚读完这道题,当时思维就落入了出题人设置的陷阱里。即使明明知道,从数学的角度讲,这道题肯定是有问题的。

稍加冷静,跳出出题人设定的逻辑,然后用最简单的会计学原理,理出其本质上的逻辑:谁出了钱?谁得到了钱?答案迎韧而出。

为了证明并非只有自己为这么简单的问题产生过困惑,我把这道题转发给了几个我认为头脑聪明,思路清晰的同事,竟然大家都是一上来就懵掉了,有的人甚至到最后经由别人指点才恍然大悟。据说这道题曾经在新西兰面世的时候引起过巨大的反响。看来上当的人不止我们几个。

这道题所产生的效应,其实折射出一个非常深刻的道理,那就是话语主导权的重要性。

当看到这道题的时候,首先你的常识会告诉你,这道题是有陷阱的。但即使这样,出题人运用语言逻辑,绕来绕去,把一个简单的问题带进了一个错误的方向。如果你的思路跟着他走,就会不由自主的陷入逻辑混乱。

一个简单的问题尚且如此,更何况那些本来就可能不存在确定答案的诸多问题。一旦一个善于言谈的人运用一套逻辑对你循循善诱,最终你就会落入他的逻辑,然后对其信服不已。但很有可能是,这个逻辑本身就是在颠倒黑白,正所谓"把死人说成活人"。

很多人都在扮演这种角色,比较典型的是那些西方的政治家,他们一般来讲都是出色的演说家,明明是想铲除异己,谋取利益,却经常打着民主自由的口号,除了少数比较清醒的智者,绝大多数老百姓都会信以为真。让我们觉得可气可笑的台湾政治亦是如此。

如果一个国家真的自由,会有多种声音在讲话,这样会使事情向真相靠拢;这也正是为什么专制国家都会牢牢控制媒体,控制了话语主导权,就会很大程度上控制国民的思维。

还有其他的例子,比如传销。据说很多传销组织的成员事先并不完全相信传销,但在抱着试试看的态度去听传销讲座时,却会被讲演者鼓动的热血沸腾,跃跃欲试,随后则死心塌地。

有一个发生自己身上的事儿让我印象深刻。我原来的老板是一个很注重话语主导权的人,并且往往能够做到。每次和他谈话之前,其实自己心里已经有一些逻辑,但和他谈完话之后,却发现在整个谈话过程中,自己的思路不见了,完全落入他的逻辑。所以,每次都是心情愉快地结束谈话,但回来仔细一想,却发现自己事先设想的问题完全没有得到解决,又不好意思马上回头再去谈。就算这样,他还称我为最难控制的人。天那,如果想我这种情况都可以称为难以控制,那其他人就更不要说有话语权了。

所以,我们需要意识到话语主导权的重要性,从而能够在任何时候能够保持自己冷静的见解。这样才会让自己不会盲从和冲动,能够做出正确的选择和决定。

最后,给出一个据说90%的人都会做错的数学题,看看您能不能拨开并不浓厚的迷雾,得到正确的答案——

一个人花8块钱买了一只鸡,9块钱卖掉了,然后他觉得不划算,花10块钱又买回来了, 11块钱买给另外一个人,问他赚了多少钱? 

- 作者: 上帝没发笑 2005年01月31日, 星期一 17:47  回复(3) |  引用(0) 加入博采

上帝是存在的

1986年,牛津大学出版社出版了一本由约翰.巴罗与弗兰克.蒂普勒合著的书《人类宇宙学原理》,两位作者在此书中预言,人类在遥远的将来会到达一个被称为"欧米迦"的点,"从到达欧米迦点的时刻起,生命将不仅能控制某一宇宙中所有的物质和力,而且能控制逻辑上可能存在的一切宇宙中的所有空间领域,能够储存无限的信息,包括逻辑上可能获得的一切知识"。


不可思议,对吧。要知道,牛津大学出版社是世界上最审慎,最守旧,最保守的出版社,而两位作者分别是宇航员和数理学家。基于这些原因,这些看起来很疯狂的逻辑或许真的有一天会变成现实。

好吧,先抛开所有的怀疑,假设从逻辑上"欧米迦"点是存在的,并且人类在到达"欧米迦"之前没有灭亡的话,就能得出一个有趣的结论——上帝是存在的。

因为在"欧米迦"点之后,人类将无所不能,为所欲为。一个人的所有特征可以被完全信息化并保存下来,如果躯体老化或者被疾病折磨的话,扔掉再换一具就是了。也就是说,任何一个人都是可以长生不死的。另外,人类可以控制宇宙中的一切,包括人类自己。如果人类好斗的天性到时候仍然存在的话,互相之间的撕杀将更具毁灭性。最终少数人存活下来,臣服于一个最强大的人,并毁掉了所有其它人再生的可能性。

如果这个结果能够在未来产生,那么在过去也可能存在过。我们不妨畅想一下,在宇宙中的某个角落,曾经有另外一个生命群落,他们经历过那个阶段之后,产生了上述的结果,他们的首领规定,为了避免进一步的厮杀,不允许再生育。但只有他们这些人又觉得无聊。于是,他们就在宇宙中选取了一些星球,包括地球。按照他们自己的样子,创造了一些生命,并把这些生命分别安置在这些星球上,同时创造了其他生物。然后他们象玩游戏一样操纵着我们的世界。这些人的首领就是我们敬仰的上帝,其他人则是众天神或天使。

不过,如果真的有这样一位上帝在操纵我们的话,它会不会也允许我们将来能够发展的和他一样强大呢?

- 作者: 上帝没发笑 2005年01月31日, 星期一 04:35  回复(2) |  引用(1) 加入博采