头马会议议程专用语言

这几天一直在翻译F#相关的帖子,里面会提到领域专用语言,为了让其中的解释更浅显易懂,我觉得还是有必要举个生活中的例子讲述一遍。

其实领域专用语言(DSL: Domain Specific Language)这个东西并不罕见,甚至相当常见,比如做数据库开发时用的SQL、做SAP相关开发时用的ABAP等,都属于这个范畴。若要更直白地说明这个概念,我想借用大学时期李吉梅老师教我们《管理学》时的引导——它就是所谓的“行话”,行内的人一看就明,行外的人怎么看都不懂,仅仅适用于某个特定领域专用的语言,正是DSL。领域专用语言有它的壁垒性,里面不乏遍布领域术语,所以通常是领域专家创造之,新手通过学习之以提高业务水平。

接下来举一个头马会议议程专用语言作为例子,如下:

5912255-6d3979dbc87fdbfc.png
头马会议议程专用语言

如果你不是头马会员,我相信你肯定不能完全搞懂这堆代码要表达什么意思;但如果你是头马会员,瞥一眼就明白这是Toastmaster角色在准备一场会议,里面阐明了主题,敲定了会议角色,调整了会议环节,并更新了某些环节的具体信息。

也许有人会问,已经有Excel模板做会议议程表,再搞这一套所谓的头马会议议程专用语言,有何意义?意义就在于它可以在头马会议议程领域专用,而且能在任何俱乐部任何会员间通用,对于减少沟通误解有着极大的作用。更实用的地方,它可以作为一份约定俗成的协议或者标准,方便在实现各种下游应用扩展功能时能保持领域专用的统一性。如下图所示,头马的会员只需要使用头马会议议程专用语言编写脚本,即可根据不同的应用、服务或程序来生成格式各异的会议议程表(这里的前提是有各种热心的小伙伴基于这套语言构建了对应的会议议程生成工具,如xyz等)。其实广大头马会员朋友们本来就不需要关心Excel模板怎么填,不需要关心Web参数怎么配置,不需要关心PPT样式怎么设置,他们需要关心的,应该是会议本身的内容,而几乎近似于英文表达的头马会议议程专用语言,可以大大提升准备头马会议议程表的效率。

5912255-26b4382261a0bd36.png
One language (standard) for all members to generate different agendas in various formats

作者:顾远山
此篇为原创,篇中文字及图片版权归作者所有。
另外,篇中的《头马会议议程专用语言》为顾远山所创,引用或在此上构建应用,请注明出处。

猜你喜欢

转载自blog.csdn.net/weixin_34415923/article/details/87207283