[IT 名人堂]近乎不朽:Ed Yourdon

[IT 名人堂]近乎不朽:Ed YourdonIvarJacobson 曾经不乏自得地提到过一场 方法论之战 和它的休战 的确 上世纪 90 年代初 软件工程 领域还处在群雄并起的局面 据 OMG 组织 UML CORBA 背后的那个帝国 统计 当时仅仅 面向对象 方法论 就有 27 种之多 圣人出而黄河清 Jacobson 自诩 他本人 GradyBooch JimRumbaugh 这 三位老友 thethreeamig 联手之后 应该

Ivar Jacobson曾经不乏自得地提到过一场“方法论之战”和它的休战。的确,上世纪90年代初,“软件工程”领域还处在群雄并起的局面——据OMG组织(UML、CORBA背后的那个帝国)统计,当时仅仅“面向对象”方法论,就有27种之多。“圣人出而黄河清”,Jacobson自诩,他本人、Grady Booch、Jim Rumbaugh这“三位老友(the three amigos)”联手之后,应该天下一统,战事早该结束、硝烟也应散去了。统一的最大受益者也许是开发者们——我们再也不用面对方法论学者们层出不穷的争执和分歧。但硬币的另一面,这个领域的景色也变得略嫌无趣:RUP已经变得过于稳定,像中晚期的罗马帝国,高踞宝座、打着呵欠、和SEI的CMM评估师们有一搭没一搭的调着情,自己都有些厌倦自己了吧;而新兴的Agile联盟,在短短几年内也变得丰满、成熟,它的前途不再无可限量,而在它的限度之外,我们还有什么呢?Ed Yourdon可能是上述方法论之战的最大牺牲者,因而也是我个人私下最怀念的声音之一。在RUP还未一统天下的史前时期,Yourdon属于软件工程领域最有影响力的顶尖神祗。1979年,他(和另一位大师Larry Constantine合著)的《Structured Design》一书,廓清了“结构化开发”的王国。该书的故事也很有意思:这本书的原型是1975年Yourdon在一个炎热的小岛上完成的手稿(整个写作只耗时26天);而当该书由Yourdon自己的出版社YOURDON Press印行后,也就迅速成为当时软件界的圣经。人们根据该书的封面,给它起了“橙皮书”的雅号,这也是名著作者们能享有的最高荣誉之一。后来Yourdon把出版社卖给了大社Prentice Hall,后者重印该书时,不恰当地把封面改成了绿色——一个最能招致读者、作者愤恨的做法。时至今日,它还被残存的一些“结构化”开发人员喜爱。不过Yourdon自称,该书目前每年的版税,也就够他和Constantine享用些啤酒、比萨饼了。如果Yourdon停留于此,他大概确实只能剩下这点儿零食。但在随后的面向对象大潮中,Yourdon仍是最重要的先觉者之一。90年代初的黄金岁月里,他和Peter Coad大师合著的《Object Oriented Analysis》和稍后的《Object Oriented Design》两书又成了这个领域中经典参考资料。而前者更奠定了以“Coad-Yourdon”命名的OOA方法。今天Yourdon本人自己对OO领域的贡献时认为,OOD中的大部分内容基本上已经被UML覆盖了(是呀,即使是Agile联盟的各种实践,也同样以UML为重要工具),但《OOA》一书则还是他的宠儿。Yourdon的妙语是:一本介绍全新方法论的著作,应该能在纽约/芝加哥的一趟飞行中读完——这也是他的《OOA》、Martin Fowler的《UML Distilled》、Kent Beck的《XP Explained》的最大好处。所谓“食髓知味”,但感恩却不是开发者们的美德。当UML、RUP成为主流之后,Yourdon必须在新的领域证明自己,否则就难逃被程序员们遗忘的下场。Yourdon的几部近作,也确实在另一个方向上对软件业产生了影响:人们发现,这不是一位单纯的技术专家,毋宁说,他变成了思辩者,变成了先知或社会分析家。名著《Death March》(中译《死亡之旅》,译名不够恰当)直面软件项目管理问题,被很多人认为是最新版的《人月神话》(事实上从书名上我们也能追索出接近的风格);而Yourdon最受争议的两部著作又构成了名称上的对称:《Decline and Fall of the American Programmer(美国程序员的衰退和失落)》、《Rise and Resurrection of the American Programmer(美国程序员的崛起和复兴)》。试图扮演先知角色的Yourdon,致力于探究软件开发中的劳动力问题,在前一部书中,他认为IT外包将对北美程序员供求造成重大影响,开发者们应该早作准备——在经济膨胀的90年代末,这样的警告无异于危言耸听,不仅广大程序员不信,就连Yourdon自己也有些尴尬,连忙在后一部书中加以弥补,称赞RUP、CMM等实践的重要意义。在警示者自己都怀疑的时候,狼还是来了——经济的衰退完美地符合了Yourdon的预言,但他在此前的一些过度言论(他认为Y2K问题非常严重,甚至为此从纽约搬家到新墨西哥)仍在他的名誉上投下些许阴影。你也会说,Yourdon从“技术专家”到“人文主义者”的转型并不完美(他甚至出版过几部纯虚构小说),但他的正直、广博、他对多个领域的贡献仍使他近乎成为一个不朽者,一个人们最需要倾听的声音。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/177431.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午7:32
下一篇 2026年3月26日 下午7:32


相关推荐

  • The package javax.swing is not accessible错误的三种解决办法,亲测有效

    The package javax.swing is not accessible错误的三种解决办法,亲测有效按照学长给出的解决方案 eclipse 中的解决办法 solution 在我们这个报错的 java 文件所在的项目中 选择对应的 JRE 系统库 右击 JRE 系统库 改变 执行环境 那一栏 我这里是因为 jdk 13 版本导入不了 javax swing 的包 所以我按照学长的建议 改成了 jdk1 8 的版本

    2026年3月19日
    2
  • 2021年Java后端开发学习路线(建议收藏!)

    2021年Java后端开发学习路线(建议收藏!)2021 的 Java 后端开发的学习路线欢迎使用 Markdown 编辑器大家好 这是你第一次写 CSDN 的博客 下面我为大家来介绍一下 2021 年学习 Java 的路线 让初学者少走弯路跟着路线走 一定可以找到心仪的 offer 还请大家不吝赐教 学习路线大致分为十部分和一个扩展 第一部分 Java 基础 Java 基础部分 初学者在初学 Java 时一定不要好高骛远 认认真真打好基础才行 虽然基础部分有点枯燥无味但是选择了就得坚持下去 罗马并非一日建成 如今基础课程娱乐混杂 选对精品很重要 B 站上很多视频 大家可以去试听

    2026年3月20日
    3
  • 【VC++、OpenCV3.4】矩阵掩模mask

    【VC++、OpenCV3.4】矩阵掩模mask这一节主要讲图像在像素级上的操作 掩模 包括获取图像的像素指针 掩模的解释 1 获取图像像素的指针 Mat pt 得到 Mat 对象之后可以由对象获取对象的指针 Mat ptr lt uchar gt inti 0 获取像素矩阵的指针 索引 i 表示第几行 从 0 开始计数 获得当前行的指针 constuchar current myimage ptr lt uchar gt row

    2026年3月18日
    2
  • s一般怎么称呼自己的m_“老公、老婆、亲爱的”?快来围观明星怎么称呼自己的另一半!…

    s一般怎么称呼自己的m_“老公、老婆、亲爱的”?快来围观明星怎么称呼自己的另一半!…每个夫妻相处方法不一样,大家怎么称呼习惯就怎么来,官方上会跟别人介绍,我的爱人,我的对象,我的老公,私下也会亲昵的叫baby。今天我们就来说说明星们是怎么称呼自己的另一半的!黄晓明和baby,在家里的时侯,黄晓明就叫baby为小孩儿,听起来是否是就有种自愿吃狗粮的感到?大家都知道,黄晓明是很喜好baby的,对baby也很宠爱,大家说baby演技欠好,黄晓明还赶忙着帮baby措辞。小编记得当初他们两…

    2022年6月23日
    83
  • 曼哈顿距离和切比雪夫距离转换

    曼哈顿距离和切比雪夫距离转换设平面空间内存在两点 它们的坐标为 x1 y1 x2 y2 曼哈顿距离 dis x1 x2 y1 y2 即两点横纵坐标差之和 切比雪夫距离 dis max x1 x2 y1 y2 即两点横纵坐标差的最大值 两者之间的关系两者的定义看上去好像毛线关系都没有 但实际上 这两种距离可以相互转化 我们考虑最简单的情况 在一个二维坐标系中 设原点为 0 0 如果用曼哈顿距离

    2026年3月18日
    2
  • Java生成MD5的两种方式

    Java生成MD5的两种方式1原生的packagecom.pibigstar.common.utils;importjava.security.MessageDigest;/***MD5加密工具类*@authorpibigstar**/publicclassMyMD5Util{//盐,用于混交md5privatestaticfinalStringsl…

    2022年7月8日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号