用户视角的领域语言

软件工程里有领域驱动设计这个概念,意思是从顶层设计角度,尤其是代码中众多的变量、参数、对象命名时,要选用业务领域里面一目了然的名称,而不是从技术的角度命名。比如数据库工程师很容易把一个操作命名为更新update,这个意思是模糊的,在不同的业务领域有着不同的解释。

领域驱动设计是从用户端这一边看待软件,而传统开发人员会不由自主地从产品端来观察用户,这也类似生产商说很关心消费者用户,其姿态还是站在生产供应这个领域观察用户,而以用户为中心,则是站到用户领域返观产品,这两个视角是有很大区别的。

在领域驱动设计(DDD)的书中不断接触领域这个词,最近突然感悟到语言与领域的关系,比如英语有不分专业领域的英语,也有一些专业英语,不过总体而言,现在的英语教学体系是大规模标准化教学,本质上还是生产方视角。接下来,真正受人欢迎的是领域语言,即专业领域英语,并且搭配特定的场景,比如牙科医生在学术论坛上做报告的英语;外贸经理业务谈判英语;论文写作学术英语;闲聊话题英语等等。

生产方视角的语言注重的是知识点,而用户视角的语言则需要适当的场景触发点,好比人旧地重游,哪怕时隔几十年,记忆会突然如开闸之水,倾泻而出。

具体的语言存在于具体的环境、语境中,换句话说,语言都是具体的,是在特定细分领域中存在的。这些特定细分领域,也就是具体的环境,伴随着语言,成为场景触发点的外部来源,内部来源则是个人的感受、联想。

领域与语言的关系恰恰也是场景与内容关系的写照,所以场景要具体,并且为内容提供触发点。