BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

软件开发社区“宗教信仰”之争风波未息

| 作者 李剑 关注 1 他的粉丝 发布于 2007年10月18日. 估计阅读时间: 7 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!
James O. Coplien在10月9日,以创造并追随宗教信仰来描述当今的软件产业,在社区中引起了轩然大波。他在文中提出,我们应该更关注于思考,而不是对所谓的最新技术和热门词汇言听计从,否则就有可能采用并非是最有效率的做法。

Dave Quick对Coplien表示了赞赏
人们常常都在渴求一条“唯一正确的道路”,然后把对质疑他们观点的意见都视为异端……虽然我不清楚是不是人们只有对于新生的热门事物才投入如此的狂热,但这确实是个非常普遍的问题,你的文章把它带到了明处,做的棒极了!

有些人发现某些技术可以在某些场景下提高生产率,然后试图加以推广,这并没什么错。但人们很容易就只关注于技术本身而忽略了它们所适用的特定场景。

你所提到的所有热门词汇都有其价值所在。大多数阐述它们的文章都多把重点放在了其价值所在上面。但是,了解什么时候不该用某种技术,应该是和了解什么时候该用某种技术同样重要的……不幸的是,我们中的大多数人都抱着教条主义的观点,把对技术局限性的描述当作攻击来看待。
在InfoQ英文站的报道中,gcom nz回帖支持说
用Jim的说法来形容REST狂热者(RESTefarians)真是再贴切不过了,那些人一直坚信只有他们的做法是正确的,GET,PUT,POST,DELETE是唯一的真正的集成技术,所有胆敢对此提出质疑的人都会被他们大肆批判。
无独有偶,国内开源项目SpringSide创始人江南白衣在9月22日也对“REST狂热者”提出了批驳
构建一个分布式的系统并不仅仅只有一种方法。REST是一种,SOA是另一种,分布式的对象和RPC也是。任何人认为REST是唯一的方法都是天真的!

现实就是,许多真正成功的Web应用程序都不是REST的。这样不好吗?我不觉得——他们只是在利用TimBL和其他人发明的东西去很好地完成工作,并做 得很棒。他们没有遵循REST规则,这重要吗?只是对于REST盲从者来说很重要;那些应用程序运行得很好,可以伸缩,用户们喜欢——谁会说它们错了呢?
不迷信权威和热门技术,从实际出发,寻找最适合解决当前问题的方案,从实践中来,到实践中去,这不单单是开发人员所应遵循的原则,更是“人们正确地认识世界和能动地改造世界的无限发展的过程”。在几年前《J2EE Developement Without EJB》译文版上市的时候,ThoughtWorks咨询师、InfoQ中文站编辑熊节便在序中写到:
Rod Johnson发出振聋发聩的一呼:尔等不必向泥胎偶像鼎礼膜拜,圣灵正在尔等自身——这就是他在书中一直倡导的“循证架构”(evidence- based)。选择一种架构、一种技术的依据是什么?Rod Johnson认为,应该是基于实践的证据、来自历史项目或亲自试验的经验,而不是任何形式的偶像崇拜或者门户之见。书中谈到了企业应用方方面面的问题和 解决办法,而这些方案无一不是这种“循证方法”的产物。……

这潮流不是Spring和Hibernate,也不是IoC和AOP,甚至不是“轻量级架构”,而是一切实事求是的“循证架构”的工作方式。
但是,Colpien在文章中却拿出了TDD作为反例:
我们被告知“只有做TDD你才是一个专家”……,却不告诉我们为什么要相信这一点,没有证明,也没有证据。只是说“你就相信这一点吧,没错儿!”。
难道整个敏捷社区在宣传敏捷文化,推广敏捷实践中所做的种种努力,就真的如Cosplien所说的一样“盲目”么?在我们成功地使用了TDD来提高生产率和代码质量的时候,是不是也会对他的话产生怀疑呢?

“信仰”这个词从广义来讲说范围太大,如果对其进行细化,至少可以分成两类:一种是自己并无亲身体验,只是听到众多技术专家、敏捷推动者对TDD的宣传、推 崇,就陷入了对这个“魔咒”无限的狂热中,这个可以算是“宗教信仰”;另外一种,则是在实际开发过程中有过使用TDD的丰富经验,并且对TDD所带来的益处深有体 会,所以才会坚定不移的继续使用TDD,并致力于它的推广。那么,你对敏捷和TDD的感觉应该属于哪一种?

极限编程Yahoo group中,llja Preuss对Coplien反驳说:
是的,我有时候也看得到身边的教条主义,但是却很难把它跟敏捷甚至是软件开发联系起来……我所亲见的,更多是对已经获得成功的事物所怀有的激情——它往往容易和教条主义/信仰相混淆。要是我们不和别人分享经验的话,我们的激情就会看上去有些不合情理。

但如果去要求人们,或是整个社区“虔诚的程度低一些”,那就好像要人别容易动感情一样。纯属扯淡。
Amr Elssamadisy则在InfoQ英文站上对Coplien开火
我不知道Jim Colplien能不能算是TDD或是Agile的权威……看过他的众多文章后,我不得不怀疑他是不是真的亲身体验过TDD,并且在宣布结论之前先把自己的成见放在一边。

他甚至在文中这样写:“集成测试和系统测试已经被长期实践证明为效率最低下的寻找bug的方式”。 他凭什么这么说?实际上,系统测试是除了代码审查以外,唯一一个得到全面的文档记录,并通过实验测试证明为可以改善代码质量的方式了……

基于以上种种,我只能得出一个结论,Colplien先生是带着有色眼镜来写这篇文章的,而且他的说法也多多少少没有事实依据可言。
看来,Colpien的核心观点并没有问题,只是选用了错误的论据进行了错误的证明。这也提醒我们要以冷静理性的态度对待问题,否则便有可能在远离一个极端的同时,走向另一个极端。

您的身边是否也存在有对新技术、热门词汇的盲从者?或者敏捷文化的传播者?您对他们的看法是怎样的呢?欢迎与我们分享您的感受和经验。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

“实践是检查真理的唯一标准”,“抓住老鼠的就是好猫”! by zhang hailong

随着经验的积累和理论研究的深入,新的方法会不断地出现,现在看来好的方法,在生产力不断加速提升的情况下,也许有天会成为一种束缚,所以对某种技术和方法的狂热“崇拜”,甚至不顾自身实际需要地去遵从“教条”,我认为就是盲从!

毛爷爷和邓爷爷的话,就是最好的总结:“实践是检查真理的唯一标准”,“抓住老鼠的就是好猫”!

Re: “实践是检查真理的唯一标准”,“抓住老鼠的就是好猫”! by hello hello

有理全在声高。

信仰是非常重要的,但你必须去思辨和实践 by 霍 泰稳

不论是软件开发还是人生道路,信仰都是非常重要的,这一点估计很多人都有体会,你就是不信宗教,但如果你相信“真善美”,那也是一种信仰。但是如果只是相信,不去在现实中实践的话,那么很容易就会人云亦云。

Colpien说的“我们应该更关注思考”没有错,特别是在现在术语名词满天飞的情况下。拿现在炒得不能再热的Web 2.0概念举例,前一段时间有人问Web之父Tim Berners-Lee对Web 2.0如何看时,他就说在设计Web的时候我们已经考虑了交互性,我不同意有什么Web 2.0的说法。所以一种事物总是有它的延续性也有它的优缺点,对任何一种技术或者概念都不能一棒子打死,但也不能相信它是万能的而不及其余。

Re: 信仰是非常重要的,但你必须去思辨和实践 by Jacky Li

“但是如果只是相信,不去在现实中实践的话,那么很容易就会人云亦云”,我在想,所谓的叶公好龙,应该也是一个反面的典型。

反对一切原教旨主义,但是 by Guo Xiaogang

我发现这样感情色彩强烈的争论什么问题都说明不了。没有证据的话就算说出花来也只能半信半疑(不说Nonsense就算给面子了)。如果说Colpien“选用了错误的论据进行了错误的证明”,那就没什么根据说“Colpien的核心观点并没有问题”。说明一个观点要用到“感情论证”,就差不多属于“Not even wrong”了。Amr Elssamadisy的确抓住了Colplien的要害。

Re: 反对一切原教旨主义,但是 by Jacky Li

没有证据的话就算说出花来也只能半信半疑——所以说Colpien也用自身作为反例来证明了“十实践是检验真理的唯一标准”啊

信或不信 by 胡 键

文中实际包含了两种含义:一是,盲从是不对的;二就是如晓刚所说的反对原教旨主义。对于前者,在跟从之前,不妨多考察和怀疑。这样至少不会出现接受的快,抛弃得也快的情形。对于后者,自然是放宽心境。办事的方式并非只有一种,说不定其他的方法或建议对你的信仰亦或有进一步的加深呢。

Re: 信或不信 by 霍 泰稳

没错,换一个角度看问题说不准就会形成一个新的解决问题的方案呢,所谓条条大路通罗马,说的应该就是这个道理。

Re: “实践是检查真理的唯一标准”,“抓住老鼠的就是好猫”! by 冯 希顺

可是抓到老鼠这事儿不是只有一只猫能办到。

Re: “实践是检查真理的唯一标准”,“抓住老鼠的就是好猫”! by Jacky Li

那就要看什么样的猫容易抓住什么样的老鼠了

信仰是一种力量 by Long Allen

我相信信仰所蕴含的巨大能量。

InfoQ 中文版的编辑和专家们应该提高翻译素质 by Zhang Charlie

信仰,这个词在中文里,是一个 general(宽泛)的词。信仰至少有两种:宗教信仰,科学信仰,以及其他信仰,比如迷信信仰等 ...

Religion 应该译成“宗教”,而非“信仰”。

Religion's Newfound Restraint on Progress (James O. Coplien, 2007-10-9) 大意是说有关宗教/宗教信仰阻碍软件技术进步的新发现。

请仔细读一读,Coplien 所说的 Religion 到底是“宗教”,还是“信仰”。如果我没有搞错的话,Coplien 主张的是科学信仰,反对的是盲目崇拜的宗教信仰。

其实老外们很清楚,宗教与信仰的区别。不知道我们的翻译家为什么要把 Religion 译成信仰,让人觉得好像 Coplien 在反对信仰。所谓的“信仰驱动的产业”,以及 Coplien 以“创造并追随信仰来描述当今的软件产业”,是一种误导。

参考:

1)软件开发社区“信仰”之争风波未息 (2007-10-17)
2)Religion driven industry? Buzzwords and checklists vs. thinking and inspection (Sadek Drobi, 2007-10-10)
3)信仰驱动的产业?热门词和指南 vs.思考和审视 (2007-10-13)

Re: InfoQ 中文版的编辑和专家们应该提高翻译素质 by Lai Jason

呵呵,感谢Charlie的细心指正,颇有专业论文审评的风范呢。

如你所说,在这里“religion”一词确实倾向于“宗教信仰”的意思,甚至有“宗教狂热”的意为。在这个基础上,我考虑了一下,认为在这篇文中通篇中使用“教派”更为合适,并且也顺口,所以文章标题可以改为“软件开发社区‘教派’之争风波未息”。不知阁下意下如何?

另外,我也建议"Religion driven industry"的标题改译成“教派带动的产业”。无论从中英文句意理解上都不会有大的偏差了,你觉得呢?

我会把你的意见转告我们中文站相应的编辑了,我们在讨论取得定论之后会给出圆满的修订译稿的。再次感谢张兄具有科学批判眼光的质疑精神!这是我们InfoQ中文站编辑团队所应当学习的!

另外,不知道张兄有没有兴趣尝试参与到InfoQ中文站的内容建设中来呢?我们需要你这样的人一同提高InfoQ中文站的内容质量,以期保证为中文读者带来高质量的技术内容。你感兴趣的请按照我的签名信息联系我,谢谢!

Best regards,
Jason
________________________________________________________________
Jason Lai
News Channel Manager, InfoQ China/Developer, InfoQ.com
www.infoq.com/cn/
Enterprise Software Development Community
Internationalization, Personalization & Community

E-mail: jason[at]infoq.com

Re: 反对一切原教旨主义,但是 by Lai Jason

来晚了,感谢小刀的好文。

上面Charlie同学指出,这篇文章讨论的“信仰”实际上应该为“教派/教义”,因此在这里我们应当质疑的是毫无选择的宗教狂热。自然两个词在一定情况下可以相互转化,但是从发挥自己主观判断力的角度讲是完全不同的。

很多时候,由于个人感情的因素(某些“教派”的前行者最为典型)很难客观地看待并非自己遵从(乃至为己所出)的“教派”,再加上死硬一点的头脑或者不服输的劲儿,或者驱动性最大利益诱导因素,原教旨主义、异教徒,乃至于圣战这样的词汇和行为就产生了。

为了使自己不落入带有强烈盲目性的宗教狂热者范畴,实用主义思想非常重要。能不能给你带来好处,只有自己双手试过,脑子思考过才能相信。否则,万一跟上一些有私心的“教主”误入“异端”教派,最终利益受损的还是自己。
________________________________________________________________
Jason Lai
News Channel Manager, InfoQ China/Developer, InfoQ.com
www.infoq.com/cn/
Enterprise Software Development Community
Internationalization, Personalization & Community

E-mail: jason[at]infoq.com

Re: InfoQ 中文版的编辑和专家们应该提高翻译素质 by Zhang Charlie

Jason,thanks,同样感谢你的科学态度!

译为“教派”,比“信仰”好,但也不妥。“教派”在英文中有另一个词:sect。sect 是 sect,religion 是 religion,两者不是一回事。教派是指一群人的组织,而宗教是这群人所信仰的东西,属于精神层面。而且我估计,译为“教派”的话,Coplien 原文中的一些句子是不通的。“宗派”和“教义”,“宗教驱动的产业”,这很好,本来就是比喻么。

我很乐意成为 InfoQ 的一名 contributor。I'll write to you.

Charlie
www.zhangxun.com

类宗教信仰的经典案例:熊节忽悠敏捷 XP by Zhang Charlie

我想 Jim Coplien 的批评并非空穴来风,他了解的是欧美的情况,应该是有一定的事实和数据为依据的。而以下我提供一个国内类宗教信仰的经典案例,正如楼主李剑所讲:“只是选用了错误的论据进行了错误的证明”,但好像熊节的核心观点也有问题 :-)

熊节忽悠敏捷 XP:评《敏捷的迷思与真实》

请问,ThoughtWorks 著名咨询师熊节到底是“对新技术、热门词汇的盲从者”,还是“敏捷文化的传播者”,您对他(作品)的看法是怎么样的呢?

独立软件工程顾问 张恂
www.zhangxun.com

Re: InfoQ 中文版的编辑和专家们应该提高翻译素质 by Guo Xiaogang

“教派”不合适,又没有仪式什么的。
这里不过是要表达一个“非实证,未经思考”的意思,又不是真正的宗教,最多是说有一点类宗教的行为,用“信仰”这样宽泛一点的词有什么不对呢。

所谓的“信仰驱动的产业”,以及 Coplien 以“创造并追随信仰来描述当今的软件产业”,是一种误导。

除非先入为主把“信仰”看成褒义的,才会变成误导吧。
把不是严格指“宗教”的“Religion”译成“信仰”,应该是普遍接受的吧。


另,你用“科学信仰”这个词,把它和“宗教信仰”并列,恐怕很多人也会不同意的。

Re: InfoQ 中文版的编辑和专家们应该提高翻译素质 by Guo Xiaogang

这种选词的差异,还是留作译者的自由度,不必搞成religious problem吧。

Re: InfoQ 中文版的编辑和专家们应该提高翻译素质 by Zhang Charlie

无论中文、英文,“信仰”都是一个中性的词,对应的英文是 belief。而宗教信仰(religion)是一种特殊的信仰(belief)。religion 译成宗教,belief 译成信仰,这是常规的译法,应该很容易想到。

难道你认为“信仰”是贬义的?

Coplien 的文章明显是在反对、反讽软件行业中的(类)宗教信仰(religion),如果译成泛化的“信仰”(belief),那么就变成了 Coplien 在反对信仰,反对一切 belief,这就形成了逻辑上的矛盾和错误,不是很滑稽吗?

你大概没有仔细读过 Coplien 的原文。我把文中所有出现的 Religion/Religious 罗列如下:

1)Religion's Newfound Restraint on Progress
2)Checklists and ceremonies border on religion, and developers seem to hold to them with religious fervor.
3)For some reason, we have invented and are following religions, or perhaps even cults, intent on ceremonies and rituals rather than thinking or inspection.
4)One role of religion is to remind us what is important in matters of identity and relationship which, curiously enough, both figure prominently in software development.
5)Religion can be grounded in ceremonies and rituals that long have lost any tie to value, if they ever had such ties at all.
6)Of course, one problem with religions is that there are so many of them.
7)Are you of the test-last religion or the TDD religion? (这里可以译成“教”或“派”)
8)Agile pundits go so far as to marginalize the end-user-facing side of software (read the first and foremost point of the articulated Philosophy. Perhaps Philosophy is supposed to be more objective than religion).
9)It is probably as difficult as it was for Newton who, in the face of predominate views in a broad and powerful religion, had difficulty prevailing with new insights on the working of the universe.
10)In fighting the broad misunderstandings that industry has chosen to adopt from selected interpretations of Agile, SOA, and programming language buzzwords, we face no less a religion, and no less threat to our cozy industry-financed academic positions, than he did.

11)Pair programming comes close, and if it weren't for the fact that it works at least half the time, any research that criticised it would likely be received with equal emotional content. It becomes a religious issue.
12)Religious Movement
13)These days, all things testing seem to be moving to the forefront of these religious debates.

你可以把“信仰”代入以上的句子中,看看通不通。

什么是 Newton 所面对的 a broad and powerful religion?
哲学比信仰更客观?
信仰会阻碍技术进步?

Coplien 心中的 religion 当然是指宗教(信仰)么。

Re: InfoQ 中文版的编辑和专家们应该提高翻译素质 by Zhang Charlie

关键词 religion 译成“宗教”还是“信仰”,这是一个原则性问题,关系到整体的翻译质量。基于“信仰驱动的产业”之上的对 Coplien 原意的曲解,很有可能让大伙儿后续的讨论成为浪费时间的扯谈。

我想在这点上,我和 Jason Lai 的观点是一致的,这是一个关系科学态度和科学信仰的问题。你可以放心,没有人打算把它搞成宗教/宗派问题。

Re: InfoQ 中文版的编辑和专家们应该提高翻译素质 by Guo Xiaogang

OK,详读Coplien原文之后,这里明确用“宗教(信仰)”确实比较对。连cult、ceremonies and rituals都出来了,不用宗教都不行。

但我我不同意你“原则性问题”的说法,

基于“信仰驱动的产业”之上的对 Coplien 原意的曲解

我看不出怎么会曲解,真的有人会误以为是在说“Coplien在反对信仰,反对一切 belief”?
我个人觉得不会。
小声说,真要按我个人的理解,反对一切信仰也没什么不对的;你看我也反对把科学说成信仰。
反正所谓信仰,总是缺乏实证的。
不过这些话与这个问题无关,这里确实用宗教比较准确。


难道你认为“信仰”是贬义的?

视语境而定。

既然问题归结到个人的感觉和理解,你就不能怪我担心会演变成religious problem。

Re: InfoQ 中文版的编辑和专家们应该提高翻译素质 by Guo Xiaogang

补充,把“信仰”换成“宗教信仰”就合适了吧。单纯用“宗教”觉得不顺。

Re: InfoQ 中文版的编辑和专家们应该提高翻译素质 by Jacky Li

嗯,个人感觉单纯用宗教不合适,用信仰也不合适,也许“宗教信仰”算是比较好的词汇把。感谢一下Charlie Zhang的严谨和考据

You're welcome by Zhang Charlie

_empty_

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

24 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT