• 回应张逸老师(二)小甜甜和牛夫人?


    回应张逸老师(一)圈子文化>>

    张逸老师晒图批评我:

    图1 张逸的微信朋友圈截图

    把张逸老师的意思展开,应该是:

    2005年清华版的《领域驱动设计》中译本封面上写着“UMLChina特别推荐”(也就是“潘加宇老师特别推荐”),现在呢,你潘老师又说DDD是伪创新,这也太不地道了吧!

    我的回应:

    (1)

    听起来有点像“以前叫人家小甜甜,现在叫人家牛夫人”,我们来看看到底是如何?

    (2)

    先回顾一下历史。

    2004年,我受清华大学出版社委托,审校《领域驱动设计》的译稿。邮件至今还有留存:

    图2 2004年8月出版社邮件截图

    张老师贴出的封面图,应该制作于2005年。

    (3)

    退一万步说,就算我当时曾经(假设而已,当然没有)肉麻地吹捧Eric Evans是大神、DDD开天辟地,那也是2005年的事情。现在是2022年,这么多年过去了,俺进步了,觉得Eric Evans和DDD圈子其他人士有不少问题,这不行啊?只要我不反复横跳,今天批判完明天又跳回去肉麻吹捧,我认为也可以接受。

    (4)

    何况,我的观点并没有大变化。

    我在《程序员》杂志2009年8月刊专门写过一篇文章谈Eric Evans:

    图3 《程序员》杂志2009年8月刊截图

    读者可以注意到,我用的词是**“拨乱反正”**,并没有“革命性创造”之类。

    就凭着这个“拨乱反正”,即使有一些问题(主要是从编码的视角来臆想业务建模、需求、分析),我认为也是可以接受的,“特别推荐”也没什么。

    时间流逝,直到……

    (5)

    大约2017年开始,“领域驱动设计”被某些圈子包装成“革命性的创造”,就像张逸老师在他的《解构领域驱动设计》前言中所评价的。

    而且,张逸老师还在创新之上再创新,构造了自己的一套领域驱动设计知识体系。

    图4 张逸《解构领域驱动设计》前言 截图

    更厉害的是,构建这么多全新的概念,仅用了张逸老师三年的业余时间。

    对比一下我自己,一本《软件方法》写了十几年没写完,篇幅更是没法比。

    《软件方法(上)》,285千字;

    《解构领域驱动设计》,875千字。

    惭愧!

    (6)

    我关于伪创新的观点,可以参见这篇文章:

    *伪创新为什么受欢迎>>

    特别是下面这段文字,我曾在多篇文章中反复使用:

    ***********

    初中数学里要学习全等三角形、相似三角形、SSS、SAS……,到了高中以后学了正弦定理、余弦定理等解三角形的知识……就不会再回去用初中的方法解题了**。**

    但是,不是所有人都能学会高中的知识,比如说张三。

    张三可能会这样解释:

    “我这个人能力比较弱,只能掌握全等三角形、相似三角形的方法。”

    这样的说法没有问题。

    张三还可能会这样解释:

    “这个题目比较简单,用全等三角形、相似三角形的方法做足够了,而且这样更方便广大人民群众理解。”

    这样的说法也可以。不过,竞争对手不是傻子,市场中哪里有什么"简单题目"!能带来利润的题目都很复杂**。**

    但是,张三如果这样说:

    “全等三角形、相似三角形的知识比高中三角函数的知识更深刻。”

    这就是自欺欺人了。

    更要警惕的是,有一个李四,也许和张三一样没有掌握高中方法,也许掌握了高中方法但是为了忽悠张三们,偷偷把"全等三角形"改名为"叠合三角形",然后和张三宣传:

    “我发明了"叠合三角形"新方法,比高中的三角函数有用,三角函数过时了。”

    这就是可恶了。

    ***********

    (7)

    张逸老师对创新的看法和我是有差别的。

    图5 张逸的微信朋友圈截图

    张逸老师说:

    当一个观点、方法或物体被某个人或团体认为是“新的”的时候,它就是一项创新。

    ……

    这些方法都不是第一次运用,甚至都不是新的,但对于秘鲁小村落的土著居民,对于当时观念落后的海军官员,种种措施无疑都是创新。

    我的回应:

    还真是,信息时代的软件工程师,不就相当于“秘鲁小村落的土著居民”嘛**,有资格学一下“伪创新”已经是福报了,还想要啥自行车啊?**

    其实,我在几个月之前的答疑文章中已经评点过类似的观点:

    *[答疑]潘老师有点理想化了,现实中程序员很菜的占多数>>

    文章片段摘录:

    有人把自己懂得的一些初中知识换个词,“发明”一套新的“教材”,里面的知识可能不成体系,有的甚至是错误和倒退的,但是他却振振有词“反正小学生本来就不懂,学我这个教材也比什么都不学要好”——确实如此,但不是最好的,甚至都不是正常的做法。

    你肚子饿了,有人给你一碗掺沙子的粥,还说“喝吧,古代的灾民能吃这个就不错了!”

    问题是,你是灾民嘛?你是有其他选择的。

    还可以看这篇文章:

    *[答疑]“以炮换马”的DDD歪招是否可以作为起步>>

    (8)

    最后说一下。

    我并没有说“DDD是伪创新”。

    读者可以看我在《DDD领域驱动设计批评文集》中各篇文章的用词,我会具体指明DDD圈子的某某人发表的某某内容是伪创新。

    我最多是说:打着DDD旗号的内容中,有不少是伪创新,包括Eric Evans提出来的。

    实际上,我现在还开着一门课叫:

    *剔除伪创新的领域驱动设计>>

    DDD圈子近几年是不是在频频“创新”,大肆造词,大肆炒作,读者可以自行观察判断。

    任何一个领域,批评并剔除其中的伪创新,这难道不应该吗?除非……

    张逸老师如果感兴趣,也可以对照我前面讲的“叠合三角形”的故事,帮助批评和剔除UML建模相关著作中的伪创新嘛。

  • 相关阅读:
    thinkphp+vue+antpro前后端权限管理系统
    超耐心地毯式分析,来试试这道看似简单但暗藏玄机的Promise顺序执行题
    uniapp 中添加 vconsole
    Qt绘图系统
    将每个Excel文件的数据量统一减少至120000行
    点云从入门到精通技术详解100篇-基于3D点云的曲面文字检测
    React | 实例三大核心属性(state、props、refs)
    【AGC】如何在iOS上集成华为AGC应用内消息
    基于JAVA+SpringMVC+Mybatis+MYSQL的公寓租赁系统
    adworld-web2
  • 原文地址:https://blog.csdn.net/rolt/article/details/126093830