用专业语言表达,用通用语言沟通

起因

这几天读文章,遇到一个新词,叫gape。原文是:

I stood there gaping for a few seconds.

啥意思呢?赶紧查字典,字典的解释是:

Stare with mouth widely open.

原来是张着嘴巴瞪着眼睛的意思,是一个stare的动作加上一个张嘴的动作。那什么是stare呢?英文解释为

Look directly and fixedly.

如果自己品味这些词,你会发现语言的定义和编程多么相像。我们有两个函数:

function gape() {

stare();

mouth_widely_open();

}

 

function Stare() {

fixedly(directly(look()));

}

语言就是这样迭代,用简单的词,加上一些修饰词或者加上另外一个意思,组成一个新的意思,并且定义为一个新词。

语言就是迭代的定义

三年级的小学生就把最基本的词学完了,但这远没有到掌握语言的地步。还有大量的基本词定义出来的词,还没有学。这其实并不阻碍表达,但表达得会啰嗦。比如一个小学生不会说stare,但会说:look directly and fixedly。甚至还会说:look directly and fixedly with mouth widely open。他本可以说:gape。前者不但啰嗦,而且很难进一步在此基础上表达,同时一旦表达的复杂性增加,不容易理解。

编程就是这样。如果look directly and fixedly常被使用,程序员会定义函数为stare,stare with mouth widely open足够常用,就会定义函数为gape。如果在一个特定的群体里,一种奇怪的动作 gape with left legs kicking and right hand swinging 要是真的用得多了,他们就会定义一个新的词,比如说gakiswing什么的。这就是术语的由来,也是黑话的起源。

用现有语言定义更加专业的语言,最大的风险在于,如果听的人没有学过这个单词,就会抛出 function undefined 错误,沟通的效果就没有达到,这是高效和准确的定义带来的麻烦。

整个计算机领域的封装,重用就是在定义语言,不得不说,语言是有高级和低级的(不带任何褒贬含义,就是定义的底层称之为低级,由此定义出来的为高级)。为了表达效率的提高,应该不断的构建,致力用更高级的语言写程序,就可以用别人画的时间的零头完成同样的功能。

公司的黑话

对于公司也是这样。多年来我发现一个有趣的现象。一个好的公司,常常是黑话多的公司。为了效率,大家不断的发明缩写,再发明缩写的缩写,说得多了,让外人和新来的员工摸不着头脑。比如麦当劳里面喊的:“墨卷辣堡中薯小可外带” 一样。只要听的人也有同样的定义,这比顾客的语言高效多了。

如果你听到一个公司里面有很多你听不懂的东西,说明他们在努力的创造着些什么。黑话的名词多(如果愿意你可以定义为“黑名”,呵呵),说明他们建造了些东西,可能是系统,工具,场所或者概念(比如百姓网的牧野,官渡,菩提树什么的)。黑话形容词的出现,说明自己在定义标准(“熊猫一样的”);而黑话动词是在定义行为方式。这些定义和积累,是一个公司不同于其他公司的长久的文化基因。

大众沟通

高级语言有一个问题,就是它只能在一个非常有限的小环境使用。它的目的是为了效率和准确。如果对于大众沟通,我们就必须重新回到最通用的语言上来。乔布斯在公共演讲的时候尽量用短句,用小学生都能听懂的词,是为了沟通。再准确的词,一旦受众脑子里面没有定义,还不如用最简单的每人都有的模块。我们必须意识到大众沟通时我们必须妥协的东西,以及在公司内部或者自己一个人写程序时候没有这种妥协多能带来的巨大的便利。

所以,我们应该努力建造自己的词汇系统来表达,尤其是在计算机的世界;而在和很多人沟通的时候,尽量把自己限制在一个通用词的范畴里面。

所谓之,用专业语言表达,用通用语言沟通。

发表回复

您的电子邮箱地址不会被公开。