隐喻
隐喻
为什么明确概念如此重要
在美剧中,我们常常能见到演员们提及或使用「隐喻」这种修辞手法,而且模糊的知道这种修辞和「类比」相似,但是缺少对这种修辞的清晰认知。实际上,我们平时日常交谈时,常常会无意识的使用到这种修辞,而造成这种无意识的原因是我们对「隐喻」没有一个明确的概念。
不止隐喻是这样,在日常生活中,常常会遇到这样的情景:在你明确一件事物的概念之前,即使这件事物在身边常常见到,你也不会过多的去留意它,这个时候对这件事物的认知,就处于一种「无意识」的状态,而你一旦掌握了这样事物的概念之后,就会脱离那种混沌的无意识状态,转而开始有意的留意身边的这些事物,就会吃惊的发现,啊,原来它早已存在。
用一个比较哲学的说法,这叫「有之非有,存在的无」。人类根据经验在语言上建立起一种事物的概念,然后这个语言学上的概念,反过来又会促进人类更加留意对应的事物,最终加深对概念和事物更深刻的认识。
在《写给大家看的设计书》中,作者开篇就写了约书亚树的例子。
约书亚树
很多年前的一个圣诞节,我收到一份圣诞礼物,是一本关于如何认识各种树的书。那时我住在父母的家里,所有礼物都打开后,我决定出去走走,认一认邻居家的树。出去之前我读了书的一部分。其中提到的第一种树是约书亚树,只需要两个线索就能认出它。由于约书亚树相当怪异,所以看到书中它的照片时,我对自己说:“哦,北加利福尼亚绝对没有这种树。这种树太怪异了。如果我见过,肯定应该有印象,可我以前从来没有见过。”
之后我拿着这本书走出去。我的父母住在一个小巷子里,这里共有 6 家住户。其中 4 家的前院里都赫然立着约书亚树。我住在那里已经有 13 年了,而我此前从来没有注意过约书亚树。我在这个街区转了转,发现似乎每一家布置新居时苗圃里都有约书亚树卖,至少 80% 的住家前院都种有约书亚树。而我在此之前居然从来没有注意过!在我知道了这种树之后,我是说在我能够说出它的名字后,它就无处不在了。这正是我要说的:一旦能够说出什么东西的名字,就会很容易注意到它。你就会掌握它,拥有它,使它在你的控制中。
这个例子所讲述的内容并不是特殊的情况,它背后有着关于语言和认知的更深层次的问题。概念是思维的最基本单元,其重要性我们怎样重视都不会过分。现在有一些认知,语言上的方向专门来研究这些问题,而本文就简单介绍「隐喻」的概念,以及讲述在计算机科学中「隐喻」的重要性。
原本对隐喻的介绍是在其他文章中完成的,但是后来越来越感觉到这个概念的重要性,以至于不得不单独提出来特别讲述一下。就如前面所描述,一旦「隐喻」的概念明确之后,你就会开始摆脱原来的无意识使用状态,有意识地使用这种修辞来表达一些原来难以言状的概念,事物等。而且也会发现,「隐喻」这种修辞随处可见,并且深刻意识到它带来的好处。
《代码大全》对隐喻的态度
在《代码大全》中,作者在欢迎章节之后,就开始介绍软件开发中的隐喻,并且强调了隐喻的重要性:
计算机科学领域中有着所有学科中最为丰富多彩的语言。你走进一间安全严密,温度精确控制在 20℃的房间,并在里面发现了病毒(virus),特洛伊木马(Trojan horse),蠕虫(worm),臭虫(bug),逻辑炸弹(bomb),崩溃(crash),论坛口水战(flame),双绞线转换头(twisted sex changer),还有致命错误(fatal error)……在其他领域中,你能遇到这些吗?
这些形象的隐喻描述了软件领域总各种特定的现象和事物,像这样生动活泼的隐喻还能够描述更加广泛的现象。借助这些隐喻,我们能更深刻的理解软件开发的过程。
那么什么是隐喻?
隐喻是比喻的一种,其字面意思是「隐含的比喻」。与普通的比喻,也就是「明喻」相对。
对比来讲,明喻这种修辞手法在日常用语中是使用最多的比喻形式,例如「貌美如花」,「父爱如山」等。使用「明喻」主要是因为某些审美上的倾向,希望将一种事物上的审美特点添加到另一种事物上,比如上面的词语中,想要将花朵的美好赋予到人类身上,或是将山的厚重,巍峨的特性赋予到父亲身上。
而「隐喻」则有所不同,它多数不是因为审美上的倾向才使用,而是想要表达出两种事物之间有某种实实在在的联系。比如莎士比亚的著名隐喻:
All the world’s a stage,
And all the men and women merely players;
They have their exits and their entrances. and one man in his time plays many parts…
—William Shakespeare世界是舞台,男人和女人都是演员。他们都有下场的时候,也都有上场的时候。一个人的一生中扮演着好几个角色。
——莎士比亚
莎士比亚使用这个隐喻,并不是想将舞台和演员某些审美上的特点赋予世界和人类,而是实实在在的认为,世界的运行机制和舞台剧的运行机制,有某些相似点。
很多人(通常是认知语言学家)认为,「隐喻」这种修辞具有认知学上的意义。换句话说,它可以帮助人类更好的认识一件事物,所使用的手段就是将一种比较新的陌生的概念,与已知的比较容易理解的其他概念联系起来,利用两件事物之间的相似性辅助认知。
一些例子——那些我们曾注意或不曾注意的隐喻
在语言中,一种新事物的产生需要一个词汇来命名时,一种手段是在原来有的词汇的基础上进行引申,而这种引申并不是随性而为的,往往是新事物之间和之前的旧事物之间有某些特殊的相似性。
一些典型的例子:
- socket:原意是插头,插座。在计算机通信传输时,引申为一种信息交互的机制。特点就像是插座那样,有对接的意思。
- docker:原意是码头工人。现在出现了一种常用的虚拟化技术,叫 docker。它同样借助了码头工人,集装箱一类的隐喻,来表达标准化交付的意思。
- 待续