20120106

与机器(或男人)沟通的原则

与机器(或男人)沟通的原则

今天感冒头疼,脑袋不咋清楚,以下主要扯淡,跟技术关系不大。这也反应了最
初决定开写博客的原因。我很长时间一直担心所写的东西过于幼稚,不入大家法
眼,又担心过几年以后会觉得以前写的东西太担淡了。不过,后来被劝道:1.即
使特别糟烂的东西,总也可能对更幼稚的同学有所启发;2.错得离谱的那些,自
然会有同学跑上来骂,这样我就可以进步了。

这就是写博客的目的:沟通--软件工程中代价最大的部分。

* 差异,世界不是你想像的那样

需要沟通的原因是,接受信息的人和发出消息的人所了解的信息是不同的。所以
跟黄同学提到过几次的一个写文档的原则:"要清楚",原因就于此。

如果读者已经知道了你要写的内容,他为什么还要读。所以,在动笔以前,你就
要猜测读者不知道些什么。最简单的猜测是:假设读者啥也不知道。这是安培当
年在演讲中用过的方法,也是我们看到很多牛的英文教材写得非常详细 (甚至罗
嗦)的原因 。类似的,为什么我们的很多教材非常薄而简洁,我恶意地猜测,作
者只是想告诉我们:你看,我懂。如此而已。他并不希望我们也懂,也不愿意为
我们懂而努力。

所以我们也不愿意买他们的作品。

写得简短,可以藏拙,或者期待由于自然语言的二义性,虽然你不明白,但是读
者明白了;写得罗嗦,至多是被跳过;或者……我也看到过对我罗嗦不能忍受,跳
上来骂我的。

沟通需要先预设背景,那是双方都接受和明白的部分,然后才是交换差异的信息。
忽略背景,固然简洁,但是那是没有基础的楼宇,清楚打了折扣。

所以,讲故事都要先来时间地点。

比如以前导师讲:芬兰有公路可以直达北极圈……那一路上都要小心鹿……路边有牌
子,上面写着"小心鹿"。就跟咱们有些人跟北海道的鬼子学习,在车上喷个牌子
"有熊出没注意"。

我当时感叹:看看人家,多环保啊,怕把鹿压着了。

导师说:是怕把车撞坏了,鹿长得很大,也够结实。

这个故事告诉我们,世界不像我们想像的那样,所以我们才需要沟通。

* 不沟通的情况

小学的时候看过一个笑话:方程有两种,一种是方程,一种是 非方程。就是有
时候你解一个方程 (等式),解了半天,到最后,才发现,其实那根本不是个方
程。

但是最初的时候你不知道的时候,也称它过方程来着。

是不是有同学想到了很多别的东西?

所以,沟通有两种,一种是沟通,一种是不沟通。

什么时候不沟通呢?

当表达无效的时候,我们会选择停止沟通。双方互骂,互掐,对打,仍然在交流。
真正的不爱,不是恨,而是冷漠。

在琼瑶还不是奶奶的时候有部小说,名字忘了。女子很多年 (杨注:一般仍很年
轻,所以很多年一般是0.5或者0.3年的样子) 后见到了当年的男朋友,然后场
景,男子不在场的时候,她问她爸,"他刚刚怎么评价我?"

她爸说:他大骂特骂了你,没有一句好话。

女生喜极而泣:太好了,还有希望。

你会对陌生人发火么?如果会,你会对电线杆子发火么?小时候我们会的,撞了
墙还要打墙两下才能解气。

所以做项目的时候,你的客户 (还有你的下属和上级) 不跟你沟通的那部分,才
是更重要的,所以请他们表达出来非常重要。而"请"他们表达这件事,绝不可能
是他们自己的责任。

昨天某公司一位常务副经理说:大学做开发啊,进度慢……

他说到这的时候我频频点头,不是表达礼貌,而是表示赞同。他的担心不无道理。

但是他接着说:意识啊,意识问题。

我笑了:某经理,其实这主要是个成本问题。

言下之意是,如果你给够钱,当然意识可以更好。不过,我得说,我这不是什么
好的沟通:无论从方式,还是从内容上看。

很多年前,我还是本科生的时候,就对老板这样说过。这不是意识问题,因为并
非这个世界围着你转的就是意识对的,按你的控制操作的,就是好的,而不利于
你的就是不咋地的。

不是只有你的意识才是意识,每个独立的人类个体都有意识的。

当你想要操纵,或者诱导别人的时候,你与他的沟通之路就已经封闭了。人与物
之间没有什么好交流的。

前面那位常务副经理显然明白了我的意思,停止了沟通或布道。当他过了一阵再
次提起意识二字的时候,我又笑了,他又不说了。

这时可以判定,这是有效沟通。

如果沟通无效,其中有些,可以试着换个方式;有些,则只能停止。

在包括面向对象系统分析与设计的方法中,有一个术语叫做 消息。当消息到来的
时候,接收消息的信宿要做出一个动作 (执行消息响应函数,转发或执行对应的
消息句柄,等等)。这里有一个前提,那就是消息接收者有响应消息的机制,称
为责任。不承担责任的对象,就不能响应消息,因此不能接受通信,因此也没有
存在的必要--因为你无法调用它。

我们所看不到摸不到,也不能沟通的,就是不存在的。

* 沟通的原则

沟通有时候进行了,但是却没有效果。双方都有责任。当我们用计算机语言跟机
器沟通的时候,如果沟通无效,那责任只在我们自己。

因为机器是男人设计的,主要是西方的男人设计的,所以文化色彩可能跟咱们习
惯的略有差异。

经常有人说,日本人说话非常暧昧。这里的暧昧与色情无关,指的是不清楚,模
糊的表达。

我看到最早的例子是这样的。美国人和日本人谈判,美国人不管说啥,日本人都
说"嗨"。美国人一看,这日本人真好说话啊,那就提要求提要求提要求。第二
天,日本人不签字,说,我那些个"嗨",就表示"听到了",不是"我同意"的意思。

其实咱们中国人也差不了多少。我经常见到有人频频点头,就表示我听到了,丝
毫也不表示我同意,甚至他说"是啊,对啊"的时候,也并不对应具体的意思,那
和脏话差不多,仅表示语气。

我们还经常见到,职员对老板说的是:你看,现在物价涨了,房租挺贵的,我媳
妇认为我的职业没有前途……他要说的是:我想涨工资。

当年一位老板对我如此暧昧地说:小杨家境挺贫寒的。

我说:你应该把上次做网的工资给我,这跟我的家境没什么关系。

后来我说,某部分是我做的,既然合作失败,我要删除那部分工作。他也同意了。
再后来,他说"你痛快把这部分活做了",这暗示报酬还是可以有的,谈判还是可
以继续的。

好了好了,回忆这些让我感觉我们大家都是女人,生活在红楼梦之中,每句话里
都套着各种话。

……女人们也经常交流了半天,却没有传达任何具体的信息。事实上,她们传达了
重要的信息,那就是"你看,我乐意和你交流"。这也很重要。

不过,当你跟机器 (或男人) 交流的时候,则完全不同。我以前对韩师姐说过一
句话,作为原则,跟机器交流可以容易得多:指令要简短,意义要明确。

不要试图暗示。

当年去芬兰之前,偶像教导我说,如果遇到老外讨厌的,可以一边笑着一边骂他。
我挺感激偶像的,不过我不会那么做。一定要选择对方听得懂的语言,表达不满。
最礼貌的做法是,在发起攻击之前,要给出明确的信号--这一点,东北人做得不
好。东北同学应该理解南北的文化差异,南方的同学们并不认为辱及母亲的词是
发起动作攻击的明确信号。

同办公室的黎巴嫩同学曾经拿我的一个瓷碗开玩笑,说:你们是把这个东西叫做
china?

我说:这并不有趣。

你会说什么?啊,虽然我知道你并无恶意,大家的文化差异很大,云云?最清晰
无误的消息传递就是:明确告诉你你不喜欢。

今天在人人网,转了某位同学的博客,她明确告诉她的师姐,非常不喜欢这位师
姐的行为。

挺好的。

明确地表达能够让别人清楚地了解这个世界,包括你的那个部分。

蔡依林先生说:"等我跳不动舞的那一天我还会做舞曲,到那时我会唱不需要跳着
舞唱的舞曲。"

杨注:先生,是一种尊称,与性别可以无关。例如:孙宋庆龄先生。

我们知道,她是真的热爱唱歌,可以失去舞蹈,但是不能失去歌唱。

有位同学说:她想选文明史两门课,因为特别热爱。有另一位同学说,那就去旁
听呗。她说:我还想要学分。

当你还想要别的什么的时候,我们就要考虑,你想要的,到底是你先提到的那
个,还是后提到的那个。

当有人说,我真的喜欢你,如果你有房子就更好了。我们会有同样的思考。有人
尽可以补充说:安全感啦,什么的。但是,带了附加条件的,都是另一种东西,
而不是你声称的那种东西本身。

如果你真的喜欢编程,你还会在乎它是不是赚钱么,在乎编哪种程序最赚钱?你
会用钱贴补编程这种行为。

有同学说:我真的感到学习理论的迫切,但是图书馆的书太难借了,买书呢,太
贵了。

有同学说:我真的非常想做项目,但是学习很紧张。

请回想,你买魔兽点卡的时候,请回想,你给她买个冰淇淋然后牵着她的手满校
园走的时候。

当你在乎做什么对你的生活影响的时候,我来告诉你:你并不喜欢它。你在用一
种日本人暧昧地方式在眼自己的内心交流。

如果一个人骗了你,你想不想整死他?如果你的心骗了你呢。

嘿嘿。我听到有人说:也许他 (它)是无意的。

是这样,所有的欺骗都是有意的。欺骗这种行为,只能是有意的。啊,对了,唯
有一种例外,那就是幼稚。据说三五岁以下的孩子,还不能完全分清现实和想像、
愿望和事实。

有时候,是一种表演吧。对别人表演,也对自己表演。就像有些经理,要求员工
努力工作,不计代价,后来说得自己都信了,直到损失自己的利益的时候才能再
重新发现事实的不同。

我一直以来对演艺人员不存好感,偏见地认为,他们往往把生活本身也作为一种
表演。请参看海报栏里学生会同学们的照片,注意他们的微笑。

蔡林依先生的话让我明白,有一种情感,是对表演的热爱,而这种表演并非希望
获取不当利益的欺骗。她的直截了当的话,清晰地传达了这一点。

你能清晰明白地告诉我们,你热爱什么东西么?

前几天在人人网看到一些同学在转一个状态,如果当初不能XX,我就去YY。比
如,如果不能编程,我就去做个销售。

蔡林依先生估计会说:如果当初不唱歌,我就唱歌。

我说:如果不能编程,我就去死。

* 还有啥时候不能沟通

有的时候无法沟通,仅仅因为回答者没有答案,或者,你想知道答案太早了。

夏笳同学在douban上答复某同学的提问如下。

问题是:"请问写一篇一万多字左右的科幻小说,除了清晰的情节线条,积极健康
的主题,还有完整的格式起承转合之外,要写得好一些,能够得上发表,还需要
什么要求?"

她的答复是:"请先写出'一万字左右,清晰的情节线条,积极健康的主题,完整
的格式起承转合',然后编辑会告诉你还需要点什么。

通常,提问题还会在前面加上,我如此热爱科幻写作啥的。这时,答案可以缩减
为:去做你喜欢做的事。

不然就可以问:你是喜欢写作,还是喜欢写作成功被吹捧的感觉。

又,当你写出了'一万字左右,清晰的情节线条,积极健康的主题,完整的格式起
承转合'的作品的时候,通常,你已经知道应该还需要什么了,或者,你知道了
如何去寻求到底需要什么。

编程也是一样的。

经常有同学问:如何才能成为一个好的程序员呢?

回答可以是这样的:如果我知道,还会有时间在这里扯淡么?

回答也可以是这样的:去编程序。

同学可能会追问:然后呢?

然后,然后你就知道答案了。

有些事情,只有彼时才能理解信息,此时的沟通毫无必要。不是现在不告诉你,
而是,只有你自己亲自长大,才能明白。

No comments: