DDD和维特根斯坦哲学之间的共鸣


人类哲学史出现上那么多大哲大神,学哲学的人认为那是思想多样化的结果,但是从实用主义角度看,对后来产生积极进步发展的作用来看,维特斯坦是近代最伟大哲学家,没有之一,他和罗素促进了形式逻辑的诞生和发展,对近代哲学研究方向和计算机甚至人工智能的诞生起到重要作用,计算机作为一种革命性的工具,其作用不亚于枪炮的发明,甚至远远超过枪炮或蒸汽机的意义。
在ThoughtWorks供职的Andrew Harmel-Law发表一篇推特:是否只有我一个人在DDD和维特根斯坦哲学之间产生了有趣的共鸣?
banq:我个人以为事件溯源是来自于维特根斯坦的世界是由事实组成的理论,这在我2019年的书籍中有提及。

 
在维特斯坦的这本书中,维特斯坦说:为什么我们不能给出一个简单案例的原因。
banq:这句话如同DDD本身一样,初学者觉得DDD很抽象,无法落地,为什么不说得那么具体而有可操作性?这其实是抽象概念本身的特点。
 
维特斯坦说:名称不是一个对象的标签,而是受与其他名称组合规则的约束,我们也不能用名称指向一个简单的对象,因为空间和时间是对象的形式,对象构成了世界的实体。它们包含了所有情况的可能性,甚至有些可能性我们都不能理解。
banq:这句话是不是说明了取名确实是计算机科学中最难事情之一?老子道德经说:名可名非常名,当你用名称指称一个事物或对象时,可能就失去原有意义,需要从业务规则的约束中对一个对象取名,例如聚合根实体的名称非常重要,需要体现业务流程的特点,如果只取个“XX信息”这样笼统名称,“信息”这个概念是非常抽象,没有体现当前这个对象在上下文中业务约束,信息是通用的名称。

 
维特斯坦说:什么是思想?思想是事实的逻辑图,命题是我们可以阅读或听到的思想的表达。那么什么是逻辑图?想想一张留声机唱片。它由上面的凹槽组成(空间结构)。当唱片播放时,唱片中包含的信息在音乐中再现。唱片上的空间结构与音乐中音符的听觉关系之间共享一种形式。音乐、乐谱、数字录音和模拟录音都存在一种相似的形式(Homologous),但没有办法表现这种形式。
banq注:思想的本质就是抽象出事物的共同部分,物以类聚人以群分,面向对象中类型Class是不是就是这种抽象的表达呢?

 
维特斯坦说:相似形式(Homologous form)只是在它的各种方式表现出来,同样的道理,一个逻辑图也是描绘事物的方式,因为它与现实具有同一种相似形式。换句话说你也不能直接show一个思想。
banq:逻辑与现实之间是相似的,例如,小说电视剧戏剧或电影要求真善美,首先是真,也就是逻辑上是真的,因为这些艺术形式是一种虚构,但是必须真,符合逻辑,如果没有逻辑性,就无从再谈善美,但是有时我们因为过于注重道德宣扬,太注重善和美,忽视了真,导致很多电影戏剧主题是很正能量,但是总觉得哪里不对。
维特斯坦特在这里主要强调了逻辑与现实的相似性Homologous,而不是Homogeneous,两者区别是:homogeneous is of the same kind(homogeneous 直接表示同种类型);而homologous is showing a degree of correspondence or similarity(homologous 表示一致性或相似性的程度)。
老子道德经:无以为用,“用”代表现实使用,要在现实中使用,就必须符合逻辑,因为逻辑与现实是相似的。形式逻辑是证有不证无的。

 
维特斯坦:我是世界的极限(世界是主观的),我不能在它周围划出一个界限,因为要做到这一点,我必须能够走出它,而这是我做不到的。
banq:身在庐山中不识别庐山真面貌,这里有一个形式逻辑和辩证逻辑的区别,辩证逻辑其实是从上帝视角看待整个世界,将自己置身于世界之上,好像世界是自己建立的一个理想模型一样,辩证逻辑是基于矛盾对立面,这种二分法其实只有置身被分析对象之外才能有这种整体观,如果你置身事物之中,你如何发现好坏?一个普通貌似警察的电话打过来,铺垫了很多上下文,将你的思维置于这个上下文中,你又如何突然醒悟,跳出这个上下文?任何事情过去以后,我们都能辩证地看待,但是过去不代表现在和未来,我们是过去的上帝,当下的奴隶(置身当下之中),未来的猜谜者(无法准确预测未来)。

 
维特斯坦:鼓励我们玩语言的游戏,“深度语法”并不是像精神分析中的无意识那样是外表之下的东西。它被发现在外表的微妙的表达中,用它自己的语言来制造差异。它在理智和感性之间游刃有余。
下面这段越来越接近Evans的DDD概念:
一个几何三角形看起来像什么?像一个三角形的洞、一个固体、一个几何图形、一个站在底座上、一座山悬挂在它的顶点上、一个楔子、一个箭头或一个指针、一个翻转的物体
我们似乎把它看作是一种解释,但有没有可能是按照一种解释去看呢?
“请始终记住,您所知道的一切以及每个人所知道的一切仅仅是一个模型。将模型放到可以查看的地方。邀请其他人挑战您的假设并添加自己的假设。” - Donella H. Meadows