在工作中,我们有时会遇到这样的情况:大家开会讨论一个问题,主讲人先给大家讲讲具体情况,讲了很久,大家就是找不到那个关键线索。听众里脾气大一点的人往往会说:“你能说重点吗?”如果那个主讲人脾气也大点,就会发生言语冲突,最后弄得不欢而散,而那个讨论会只能不了了之。
作为主讲人,当然很想避免这样的尴尬问题,但又不知道从何下手。作为听众,我们也想能从杂乱无章的信息中提取出关键信息。我们先看一个有点让人抓狂的讲话例子,从中分析原因,之后再想解决方法:
【让人抓狂的原因】
某人说:“上个星期我去了趟苏黎世。你知道,苏黎世是一个比较保守的城市。我们到一家露天餐馆吃饭,你知道吗?在15分钟里我至少见到了15个留长胡子的人。……而且,如果你在纽约的任何一座写字楼周围转一转,你会发现几乎没有不留长胡子或长头发的人。……当然,留长胡子在多年前就已经是伦敦街头的一景了。”
我第一次看到这段话时,真有一种不知所措的感觉。我在想:说话者是在比较哪个城市更保守吗?或是在比较露天餐馆、写字楼和街头吗?他认为留长胡子是保守,还是不保守?……总之,我对于说话者说的每一个字的字面意思都懂了,但就是无法理解说话者的真正意图。
这是为什么?
某些科学研究表明,没有前因后果的信息只能存到大脑的临时存储区域,有前因后果的信息能够存到大脑的长期存储区域。因此大脑在获得信息的时候,会尝试捕捉这条信息的目的是什么、会造成什么结果,这是为了把信息尽可能存到大脑的长期存储区。而在这个例子里,说话者一直没有把目的、结果明示出来,我的大脑就不得不自己去推测,但就像刚才提到的那样,我的大脑自动推测出的结果有很多,就是不知道该存储哪个,于是大脑傻在那里了。
我能怎么做,才能让变傻的大脑再变回来?
【如何提炼抽象】
我的方法是按照如下顺序做提炼和抽象:信息->梗概->意图->本质。
我们看,那段杂乱无章的文字就是一系列信息,而信息总是有一个梗概的:在苏黎世、纽约、伦敦,经常能见到留长胡子和长头发的人。
在提炼梗概的过程中,我们发现:在这三个城市的现象是一样的,因此可以做出归纳提炼,从而得出以上的梗概。
但是,这个梗概只是一个陈述事实的句子而已,从中看不出任何的意图,没有意图的东西很快就会被大脑遗忘,因为它在大脑里只是一个孤立的知识。其实,我并不相信这段话没有任何意图,因为既然有人用了不少语气词说出这段话来,它一定有隐藏在背后的意图。为了获得这个意图,只看梗概是不行的,我需要再次回到内容更加丰富的原话中,此时我发现了一些有感情色彩的词“你知道”、“保守”、“几乎”,这下我似乎能推断出:说话者在面对他所看到的这些事实时,有些意外,很可能说话者原本认为留胡子是不被普遍认可的。
因此我可以提炼出他的意图:男人留长胡子或长头发,现在已经变得这样普遍、这样被广泛接受:例如在苏黎世、在纽约、在伦敦。
到了“意图”的阶段,我已经进入到“完全懂”的状态了,因此大脑产生了长期记忆,同时我可以依据这个意图去做事情了,例如我留起自己心爱的长胡子、像个艺术家一般去上班。
后来我又发现,我一直认为自己“完全懂”的那个东西,其实还有我并未意识到的深层东西:
留胡子的人,虽然被社会认可了,但是他在别人眼中到底是个什么形象?在一个讲究时尚的时代,“大胡子”可能意味着另类,于是大家就缺少了一种文化认同感,自然也就缺乏共同话题。“大胡子”也意味着懒散,因为他懒到连胡子都不刮就来上班,还把“懒散”当作个性展示给同事们。大家会想:如果连刮胡子这种简单的事情都不愿意去做,其他事情可想而知。如果他是一个不需要和同事协同工作的艺术家,本无可厚非,但同事们需要和他协同工作,谁愿意和这样的人共事?
归根结底,这是一个哲学问题,于是我根据如上的这些思考,提炼出了“意图”背后的那个“本质”:存在不意味着被真正认同。
【本质之后还有本质】
到了哲学层次,比“梗概”、“意图”层次深刻了许多!
但其实还有一个层次比哲学层次更高,它就是与道相接!在这里请大家注意,“与道相接”这个词的内涵是深刻的:人类的行为最终都要落到自身的感受上,而这个感受是用文字表达的,建立在这些感受之上的才是刚才提到的本质,“本质”之后才是“意图”,再之后才是“梗概”。
这里有一个关键:“感受”和文字之间是有一个突变的,也就是说,一个是人作为生物的感受,而文字是表达这个感受的,它们之间的连接是非常关键的!
举个例子:“存在不意味着被真正认同”这句话里有一个“不”字,而且“不”字处于这句话的核心地位,因此我们就很有必要研究一下不字。对于“不”字,我们都知道有一个“感受”和这个字对应的,但这个感受是什么?我们去查新华字典,它的意思是“否”。再去查“否”字,它的意思是“不”。查来查去,两个字的解释只是互相参照而已,我们从字典中无法获得这种“感受”的真实涵义。
我们天然地认为“无法获得不字的真实涵义”是正常现象,因为我们都知道“不”字代表什么,只是说不出来而已。其实这是不正常的,古代“不”字的涵义比字典里的描述深刻得多,也形象得多,《说文解字》是这样解释不字的:鸟飞上翔不下来也。下图是篆文的“不”字,上边一横代表天,下边有鸟的头和展开的翅膀,很明显就是一只鸟向天上飞去的样子。
古人用一只鸟向天上飞去的场景,来表达鸟的主人的内心“感受”,即便是作为现代人的我们,只要一想起这个画面,就自然会体会到那种无法用文字表达的感受。这样从文字直达内心,就做到了与道相接!
【对于写作者和读者的巨大作用】
此刻,我们需要总结一下我们到了那里:为了解决说话抓不住重点的问题,我们找出了它的原因在于人脑需要了解前因后果,解决的方法是从杂乱的信息中按照顺序提炼出梗概、意图、本质,本质之后还有文字与自然的贯通,但大多数情况下只需要提炼出意图即可结束。
但是我们分析到这么深的层次,到底有什么用?
坦白地说,对于普通人,只需要到达意图的层次就够了。但是对于写作者的作用就很大了,用我的方法来分析一下《红楼梦》。
《红楼梦》原名叫《石头记》,哪个名字更好?很显然是《红楼梦》,为什么?
梗概:《石头记》可以理解为“梗概”,因为整本书都在讲与通灵宝玉有关的故事。
意图:那“意图”是什么?我认为意图是曹雪芹在感叹世事无常。
本质:我认为用“好了歌”就可以概括本质。
感受:那《红楼梦》这个名字到底处于哪个层次?《红楼梦》当然不是梗概,一样也不是“本质”,那是什么?其实“红楼梦”三个字可以对应到“感受”层次,就像不字那样,读者一看到“红楼”两个字,就会联想到荣华富贵,再看到“梦”字,就会联想到原来人间的“红楼”只不过是一场梦而已,于是那种无法用文字直接表达的感受油然而生,不需要再解释了。
抛开梗概、意图这些细节分析不谈,我们把视角拉远,就能看到一个时空感非常震撼的《红楼梦》:表面上是贾宝玉、林黛玉的爱情悲剧,以及家族的兴衰,背面却是神瑛侍者与绛珠仙草的爱情故事,形成了背面与表面,一阴一阳,提升了作品的境界。更高一次层次的背面是,人生最终都会落到“好与了”的境界,表现出一种立体的美感。更为伟大的是,《红楼梦》带给读者的感受是全方位的,用语言不可能说清楚所有的感受,而每种感受都真实地存在于每个用心去读这部作品的读者心中。
你看,在《红楼梦》这种文学作品中,“本质”、“感受”就起到了巨大的作用!我相信曹雪芹在写作的时候,一定能够感受到那种无法用文字直接表达的真切感受,所以他才会“删改十年”,他才有那么大的热情,写出那么多穿越时空、引起共鸣的诗句、人物和场景。
作为曹雪芹的忠实读者,我们能感受到作品中那种巨大的画面感、层次感、抽象感,在内心中产生了那种穿越时空的震撼,时间久了,也许就能领悟到《红楼梦》带给我们的人生真谛,从而改变了我们的生活也说不定。
相反,如果一个写作者总是在浅层次思考,他一定感受不到那种“与天地相接”的感觉,读者自然也不可能感受到,时间长了,他自然也会失去写作兴趣,最好的情况也只是赚点钱而已,无法给自己和社会带来正向的心理价值。同样,如果一个读者,只是在浅层次读书,时间长了,他自然也会失去读书的兴趣。
【软件开发领域的架构之美】
在我刚进入软件开发这一行的时候,就不懂得去欣赏架构之美,只是闷头干活而已。那时我的感受力被局限在“梗概”阶段,只是能从杂乱无章的“信息”中初步提炼出“梗概”,算是能写出一些代码,但对上层的“意图”没有任何意识。因此有时做出的产品,用户并不喜欢,另外一个问题是,自己写的代码过一段时间自己也看不懂了,更别说让别人修改我的代码。
过了若干年,我逐步能达到“意图”阶段了,但当时并未意识到自己到了那个层次。那时我写出的设计、代码,别人已经能相对容易地看懂了。我对于“意图”的理解程度,可以举出一个例子:大家都在用接口编程,很多人并没有意识到它的本质是什么,所以实现出来的东西,经常是徒具接口的外表,而没有接口的实质。我认为接口就是“意图”编程,因为调用接口的外部使用者代码,它所能理解的接口只能是站在它的角度去定义的意图,这里就体现出了“梗概”和“意图”的本质区别。
大师级人物鲍勃大叔写的《敏捷软件开发原则模式实践》这本书,里面提到了两条原则:接口隔离、依赖倒置,我认为他并没有说得太清楚。在这里我可以用“意图”来解释,那两种原则都是“意图”之下的两种变化。我的另外一篇文章中也提到我对这两条原则的理解,那里使用的是“目标”,其本质和“意图”一样。
又过了若干年,我自认为已经能初步达到“本质”阶段了。我所理解的设计模式是这样的:每个设计模式的名字都是一个隐喻,这个隐喻就是那个表象,例如桥模式,桥的每一边都可以单独变化,而不影响桥的另外一边,通过桥这个“接口”把两边联系起来。其实这些设计模式的底层本质几乎都是“接口”,使用“桥”这样的隐喻来表现各自不同的内在涵义。请注意:这一段提到的接口和上一段的接口不同,上一段是指表象,例如很多编程语言中都有interface这种定义形式,而在这段却是不具有外在形式的本质。
在设计模式作为顶层的范围内,设计模式的名字往往就像“红楼梦”三个字一样,用一个隐喻把背后的本质表现给程序员看。但是设计模式毕竟还是被更上层的逻辑使用的,更上层的逻辑就是架构,也是更为本质的。架构有一个根驱动力来驱动所有的设计行为,至于何时使用何种设计模式,或者使用何种算法,都由架构来决定。例如在数据库服务器架构中,为用户返回的数据顺序是随机的,为什么?因为这样才能达到大规模集群的高度并发,从而达到最快查询速度。重新排序当然也可以,但那就是以牺牲性能为前提了。由追求性能还是追求数据规范性,分化出了两种不同的数据库模型:分析型数据库和事务型数据库。
而架构的那个根驱动力,就是软件与软件之外世界之间的连接,也就是与自然界的连接,这个才是软件的本质!
【结束语】
我们每天都在学习知识,但很多时候感受不到乐趣,只是因为工作的需要,我们才去学习。但如果我们能在那些显性知识的表象之下,发现其本质,也就是隐性知识,我们就会体验到那种由衷的快乐!我就有切身的体验,即便这种知识被大家认为层次不高,我仍然会体验到快乐。这是因为提取出本质的知识一般都具有战略意义,而原本不被大家看重的知识,一旦具有了战略意义,大家自然就会看重它。这就是“抽象、哲思、与道相接”的魅力!
----------结束----------
作于2017-5-7。
我的相关文章:
《快人十倍的秘诀:一个初学者和一个资深者的对话:融会贯通续》
网友评论