耶和华神所造的,惟有蛇比田野一切的活物更狡猾。蛇对女人说:“神岂是真说不许你们吃园中所有树上的果子吗?”女人对蛇说:“园中树上的果子,我们可以吃; 惟有园当中那棵树上的果子,神曾说:‘你们不可吃,也不可摸,免得你们死。’” 蛇对女人说:“你们不一定死,因为神知道,你们吃的日子眼睛就明亮了,你们便如 神能知道善恶。”于是,女人见那棵树的果子好作食物,也悦人的眼目,且是可喜爱的,能使人有智慧,就摘下果子来吃了;又给她丈夫,她丈夫也吃了。 《创世记》3:1-6

软件程序是文件之间的对话,或者说就是一堆文件在讲一个故事。故事的参与者是从硬盘上的物理文件里跑出来的一个个对象。参席的听众有序的坐在没有记忆能力的内存里,轮到谁讲故事时,就被传呼到CPU上去。讲完后,又回到内在里坐着,等着下一轮被CPU传呼,或直接等着被销毁等。因为CPU、内存都没有记忆,所以讲故事的每个结果都仍要被保存到有记忆能力的硬盘里。既然是讲故事,我们就以编程语言讲讲,人类传讲最多的故事:<<圣经>>中<<创世纪>>记载的伊甸园里的诱惑。

程序语言翻译

女人类:夏娃

有人说,上帝创造人时,为人创造了两只耳朵,一张嘴巴,就是为了让人少说多听。其实,这话并不无道理,甚至在《圣经》里可以找到这样的经文凭据:“我亲爱的弟兄们,这是你们所知道的。但你们各人要快快的听,慢慢的说,慢慢的动怒,因为人的怒气并不成就神的义。(《雅各书》 1:19-20)”。细想之,这话,仍是有些值得更深入的地方。当初夏娃人家就是少说多听的。从上面的经文就可以看出,引诱的蛇的说了两句,夏娃只说了一句话,并且夏娃对蛇说的是大实话。上帝对亚当和夏娃怎么嘱咐的,夏娃就怎么说的。可悲的是,夏娃不仅听了不该听的,而且听到心里按着去做了,甚至还劝亚当也这样做了。结果历世历代,女人都受到了上帝的惩罚:“我必多多加增你怀胎的苦楚,你生产儿女必多受苦楚。你必恋慕你丈夫,你丈夫必管辖你。”(《创世记》 3:16)。自然,男人作为女人的头,有劝导女人归正的义务和责任,没有履行好义务和责任,也要受到惩罚,并且更重。

代码清单1:Woman类源代码

//一切的故事都掌握在上帝的心中 package GodHeart; /** *女人类 */ public class Woman {

/**
 * 女人在听
 * @param message 听到的话
 */
public void listen(String message){
    System.out.println("夏娃听蛇对她说:"+message);
}

/**
 * 女人在说
 * @param content 要说的话
 * @return 把要说的话返回给要听的对象     * 
 */
public String say(String content){
    System.out.println("夏娃对蛇说:"+content);
    return content;
}

}

二、蛇类

“耶和华神对蛇说:‘你既做了这事,就必受咒诅,比一切的牲畜野兽更甚;你必用肚子行走,终身吃土。 我又要叫你和女人彼此为仇;你的后裔和女人的后裔也彼此为仇。女人的后裔要伤你的头;你要伤他的脚跟。’” 《创世记》 3:14-15

其实,在蛇身上才真正验证了常人所说的“上帝创造人时,为人创造了两只耳朵,一张嘴巴,就是为了让人少说多听。”当蛇对夏娃说了两句引诱的话之后,不仅受到上面的诅咒,而且还把耳朵都移到嘴巴下了,没有外耳廓,看不见。(网上资料得知:蛇没有,我们一般所说的耳朵指的是外耳廓,而没有包孕到其他听力器官。蛇没有我们能看见的耳朵.他们也没有耳孔。所以,单看蛇的外表无法见到蛇有耳朵.但是,蛇的头里面真的有一种耳朵,在下颚左近。没有外耳廓这是不是表现它们甚麼都听不见。蛇能听见声音,只是不太明确.它们不是象人那样听到空气中传来的声音。蛇能听见的是地面传来的振动。这些声波由地面传道蛇的颚骨 再传到骨耳,这样,蛇就听到了声音)

代码清单2:Snake类源代码

//一切的故事都掌握在上帝的心中 package GodHeart; /** * 蛇类 */ public class Snake {

/**
 * 蛇在听
 * @param message 听到的话
 */
public void listen(String message){
    System.out.println("蛇听到夏娃对它说:"+message);
}


/**
 * 蛇在说
 * @param content 要说的话
 * @return 把要说的话返回给要听的对象
 */
public String say(String content){
    System.out.println("蛇对夏娃说:"+content);
    return content;
}

}

三、伊甸园

蛇会听会说,夏娃也会听会说。在伊甸园里,蛇引诱夏娃时,从程序的角度来看,他们一共说了三轮话。第一轮是蛇用疑问的试探夏娃。第二轮是夏娃用上帝的嘱咐回答蛇。第三轮是蛇用诱惑引诱夏娃。夏娃最后听了蛇的引诱,于是伊甸园里的诱惑故事就这样发生了。

代码清单3:Eden类源代码

//一切的故事都掌握在上帝的心中 package GodHeart;

/** * 这个故事发生在伊甸园里 */ public class Eden {

/**
 * 伊旬园里的诱惑
 */
public static void main(String[] args) {

    System.out.println("在伊甸园里,耶和华神使亚当沉睡,取下他的一条肋骨,"
            + "又把肉合起来。耶和华神就用那人身上所取的肋骨造成一个女人。"
            + "亚当给她取名叫夏娃。");

    //创建夏娃对象。女人是个抽象类,夏娃才是个具体的看得见的对象。
    Woman eva = new Woman();

    System.out.println("撒旦扮作蛇来到伊甸园里。");

    //创建撒旦对象。蛇是个抽象类,撒旦扮作蛇的具体的看得见的对象    
    Snake satan = new Snake();

    System.out.println("伊甸园里的诱惑就这样开始了。。。");
    System.out.println();


    System.out.println("第一轮对话:");
    //蛇在说,夏娃在听
    eva.listen(satan.say("神岂是真说不许你们吃园中所有树上的果子吗?"));
    System.out.println();

    System.out.println("第二轮对话,夏娃在说,蛇在听:");
    //夏娃在说,蛇在听
    satan.listen(eva.say("“园中树上的果子,我们可以吃;惟有园当中那棵树上的果子,"
            +"神曾说:‘你们不可吃,也不可摸,免得你们死。’” "));
    System.out.println();

    System.out.println("第三轮对话,蛇在说,夏娃在听:");
    //蛇在说,夏娃在听        
    eva.listen(satan.say("“你们不一定死,因为神知道,你们吃的日子眼睛就明亮了,你们便如神能知道善恶。”"));
    System.out.println();

    System.out.println("于是,女人见那棵树的果子好作食物,也悦人的眼目,"
            + "且是可喜爱的,能使人有智慧,就摘下果子来吃了;又给她丈夫,她丈夫也吃了。 ");

}

}

伊甸园的故事发生后,被摩西记在了《创世纪》。因此,我们才知道这个故事。当我们用编程语言模拟这个故事时,运行起来,蛇和夏娃在内存中的对话,就打印到了电脑里的控制台上。 

Eden.java运行结果:

在伊甸园里,耶和华神使亚当沉睡,取下他的一条肋骨,又把肉合起来。耶和华神就用那人身上所取的肋骨造成一个女人。亚当给她取名叫夏娃。 撒旦扮作蛇来到伊甸园里。 伊甸园里的诱惑就这样开始了。。。

第一轮对话: 蛇对夏娃说:神岂是真说不许你们吃园中所有树上的果子吗? 夏娃听蛇对她说:神岂是真说不许你们吃园中所有树上的果子吗?

第二轮对话,夏娃在说,蛇在听: 夏娃对蛇说:“园中树上的果子,我们可以吃;惟有园当中那棵树上的果子,神曾说:‘你们不可吃,也不可摸,免得你们死。’” 蛇听到夏娃对它说:“园中树上的果子,我们可以吃;惟有园当中那棵树上的果子,神曾说:‘你们不可吃,也不可摸,免得你们死。’”

第三轮对话,蛇在说,夏娃在听: 蛇对夏娃说:“你们不一定死,因为神知道,你们吃的日子眼睛就明亮了,你们便如神能知道善恶。” 夏娃听蛇对她说:“你们不一定死,因为神知道,你们吃的日子眼睛就明亮了,你们便如神能知道善恶。”

于是,女人见那棵树的果子好作食物,也悦人的眼目,且是可喜爱的,能使人有智慧,就摘下果子来吃了;又给她丈夫,她丈夫也吃了。

小结 就像人跟人之间相处要沟通和交流,相互协商,相互帮助,才能做好一件事,从抽象的角度来看,软件程序也是从各个文件跑出的虚拟对象之间的相互对话、相互调用。人和人之间沟通顺畅,相互理解,能够达在一致,事情才可能完满完成。同样的,如果类与类之间的设计合理,对象与对象之间能够顺畅的对话,那么系统最终也定然会讲出一个完美的故事。

诱惑 艾青 那是一种诱惑 亘古不变 使多少水手丧生 石堤在阻挡 倾斜的陆地滑向海底

海豚越过了星群 又落下,白色沙滩 消失在溶溶的月光中 海水漫过石堤 漫过空荡荡的广场 水母搁浅在每根灯柱上 海水爬上石阶 砰然涌进了门窗 追逐着梦见海的人