任何事都有其正反面,最近很被诟病的互联网“黑话”,也是有好坏两面,坏的一面大家应该都有体会,就是将简单的概念复杂化,故弄玄虚,故意让人听不懂觉得高大上;好的方面,黑话让了解黑话的人聚在一起,圈里人都说一样说话,提升了一个圈子的凝聚力或有利于一个行业的不断发展。
本文是从正面去讨论黑话的,不去讨论大家都讨厌的乱用黑话的现象,只说下黑话产生的必要性,然后讲一下黑话容易存在的局限性。
黑话的必要性
首先,黑话的产生并非用于恶意地排除圈外人,而是用于减少沟通中信息的冗余。熟悉数据压缩的朋友都了解有一种压缩叫做字典压缩,对于一段出现50次“黑话”这个词的文本(比如本文),那么如果我们设计一种压缩算法,只需要存一次“黑话”并存储50个“黑话”一词相对文章开头(或者上一次出现“黑话”一词)的偏移,这样我们就把100个汉字压缩成了2个汉字加上50个数字偏移索引,如果数字偏移索引所占的存储空间占用小于2个汉字所占的空间,那么我们就达到了数据压缩的目的。
同理,一个领域或者圈子内,对于大家交流过程中经常出现的概念,如果直接表述需要的文字数比较多,那么大家会自然而然地将它抽象成一个个术语,即“黑话”。比如,存储系统中的“崩溃一致性”,分布式系统中的“拜占庭容错”,研究这个领域的人一听就明白是啥问题,因为他们要经常研究怎么更好的解决这些本来就困难的点。在同行交流时,只需要说出这些黑话,就不必解释事情的来龙去脉,直接让同行们跳到统一的上下文。
类似的,汉语中的成语、谚语也是黑话。有了这些熟语,我们可以一言以蔽之,更快速地交由对方去思考,提升交流的效率;而非长篇大论、滔滔不绝。
黑话的局限性
我们在中学会有语文、数学、物理、英语,我们从来不会质疑为什么我们所学的知识为什么要这样分门别类。小明数学好,张三语文棒,于是他们就成为了同学们心中追赶的目标,大家“卷”起时,很可能着重去提高自己的数学或者语文。但从另一个维度,语文和数学可能都有一部分需要较强的逻辑思维能力(阅读理解或空间几何),也有另一部分需要较强的记忆力(诗词默写或常见公式记忆)。没有想清楚问题的大多数,往往只会关注某一科目的总分,忽略对另一维度更细粒度能力的锻炼。我自然不会去质疑学科分类的科学性,只是黑话对信息进行精炼的同时也会抹掉某些有用的信息,甚至对高维度概念进行了降维。
举个具体的例子,计算机研究中,有很多的consistency问题,比如内存指令执行顺序相关的memory consistency、存储系统元数据更新相关的crash consistency,还有数据库中事务ACID中的consistency等。在一个大的系统(如OS、DB等)中,这些consistency问题可能同时存在,只提一个consistency不加解释,即使是同行也无法完全搞清你要聊什么问题。一定要说清是memory consistency model, crash consistency 还是事务consistency才可以。这看似是一个小问题,但对于初入圈子的萌新,很可能造成很大的困扰和浪费不必要的时间。
总之,做到不去为了高深而乱用黑话,理解黑话的优势,注意黑话的局限,才能让黑话健康发展、为我们所用~!