我和banq之间的恩怨---阎宏

我和banq之间的恩怨直到今日,让我感叹。

我们之间最早的摩擦开始于他的一篇关于Abstract Factory的网上文章,中间放了一张我在yesky.com的插图。他本人以免费刊载的方式鼓励转载,因此文章流传较广,出现在很多的网站,最后回到yesky.com。而我对这个流传过程并不知道,第一次看到此文章就是在yesky.com,他的文章就在我的文章下面,而里面有我使用Together画的一个UML类图,而没有指明出处。其他相似之处可以做别的解释,我也不想较真,而这个图的内容和颜色等等都不可能有错,那就是我亲手画的。

这是我感到很困扰,我一个很自然的反应就是某个作者看到了我的文章,抄出了其中的一部分,连换一家网站都不换,随手就投稿到同一个专栏,如果我在另一家网站发现copycats,我也许不会如此困惑。可现在…这简直就是大白天的。。。不说了,我还想给banq留下最后一点斯文。我自然向yesky.com的编辑作了交涉,yesky.com是一个驰名中外的网站,它的著名之处就在于它对原创精神的执著,因此yesky.com的编辑是不可能在知晓的情况下,发表这样的文章的,所以编辑也很感吃惊。估计编辑本人与banq作了交涉,但我并不知道过程,只是编辑特别让我和banq交换意见。我给banq的email措辞比较强硬,有诸如不计代价惩罚剽窃行为之类的话。我的信中留下了联系方法,包括电话。

不过我并没有想到banq会打电话给我。banq随后真的打了一个IP电话到我的纽约家里,这让我特别感受到了他的诚意。banq特别表示道歉之意。我和他商讨了解决问题的办法,就是注明此图的出处。达成一致意见之后,我主动告诉他我不会继续追究此事,这包括他已经流传到很多地方的旧版本。

Banq告诉我,几年前我在yesky.com发表的几篇工厂模式和单态模式的书对国内初学模式的人有很大帮助,等等,可能是客气,也可能是实情。

现在想起来,我如此对待一个同行,确实有些过分。Banq对设计模式感兴趣,我们本可以一起讨论和合作,现在变成了我当警察,把他当成小偷。如果我采取比较婉转的方式,也许可以达到更好的效果,而没有现在的这些后遗症。

不过我随后在yesky.com又发表了一篇责任链模式与击鼓传花游戏的文章,我相信击鼓传花游戏与责任链模式的相似之处,是我第一次发现,也是本人特有风格的体现。读过我的书和文章的读者,相信都会有这样的感受。可是随后我就在banq的网站上发现了一条对责任链模式的解释“就像击鼓传花一样”,仍然没有注明这个比喻的出处。

我回想起banq打电话时诚恳地话语,选择了沉默。也许这就是他的习惯吧?再说,不就是一个比喻吗?要这么较真吗?

一些网友经常提到一些设计模式的例子,他们说这些来自jdon.com和banq,我知道这些例子中有较为精当的,又不很精当的,而精当的那些都无一例外来自其他地方,譬如Bob Tarr的教材等等。Banq并没有明确指出过这些例子的来源。看来我的待遇比Bob Tarr他们还好些,呵呵。

我回想起在大陆的时候,常常要排队买东西,有时会遇到有人插队(夹队),这种做法在北方叫做“加三儿”。此人看上去并没有注意到你的存在,“漫不经心地”排到了你的前面。如果你提醒他,你会想,这是不是有一点过分?也许你会想,算了,多等一会儿吧。

可是如果事不凑巧,你需要一次又一次排队,而总有一个人“漫不经心地”排到你的前面,你怎么想呢?

要是这个人总是同一个人呢?

要是你提醒之后,他恍然大悟,然后正颜道:“我会插队吗?我难道会插队吗?”要是过了几分钟,他又“漫不经心”地挪回来了呢?

网友们一次又一次把一些设计模式的例子传给我,告诉我这些例子来自jdon.com和banq,希望我能解释一下例子是不是恰当。我有我的网站,他有他的网站,我评论他,他评论我,这有什么意思吗?而且我不仅有一个网站,我有我的《Java与模式》和几万名读者,他并没有。我有必要总是和他“过不去”吗?

因此我不评论他的例子,也不想从我这里说出他的某些例子的来历,捅破这层窗户纸,我一次又一次选择了沉默。现在这层窗户纸让别人捅破了,呵呵。Banq,不要怪我。

与此同时,Banq没有放过任何评论我的《Java与模式》的机会,呵呵,想必jdon论坛的朋友不会不知道吧。

我出版了一本技术书籍,这已经把我自己变成了公众人物。无论评论我还是评论我的书,都没有错。但是Banq的评论也很有意思,值得一读。看看这个:

“坚持真相,揭穿伪科学,减少对初学者的误导,无论对方是自己的老师或学友,这是我们每个严谨的程序员应该具备的态度。”

多么高的道德角度啊,哈哈。会“加三儿”的,也会讲道、道与德,就是道德啊。

说到这里,不能不提一点精彩的。那是一个子无虚有的故事,把电子工业出版社也牵扯其中。
Banq告诉别人电子工业出版社曾经同时向我和他约稿,他没有写,我写了。所以就有了我的《Java与模式》。在此谢谢几位网友同时提醒我banq的帖子。嘿嘿,banq抄袭我的插图的时候,《Java与模式》已经初稿了。再说这样一本“伪科学”的书,banq有必要这么在意吗?

好了,接着谈banq对我的书的评论吧。jdon论坛有一位网友对他的评论颇不以为然,他说:
“Banq以前的关于Adapter的例子。
那个斑竹的例子我在google上面找到了,是好多的外国的大学教材里面的照抄过来的,比如umbc的Bob Tarr的关于Adapter的例子,里面有RoundPeg的SquarePeg的例子,对中国人不太好理解,里面有更详细的解释我也看过《Java与模式》,我真的喜欢这本书的风格,因为这是按照中国人的思路来说的,比较好理解(我想用什么手段不重要,重要的用简单容易记住的例子让我们掌握技术的大致脉络,也许不是全对,这点是最最珍贵的,这本书这点做的不错,这比什么都重要),是花了时间和结合自身的经历的产物,不是照抄的,因为无处好抄. ”

我重复一遍最后一句:“不是照抄的,因为无处好抄”。

我很喜欢这段评论,这是读者的评价,也是我自认为这是我能得到的评价中最高的评价。Banq,最珍贵的,是原创。

阎宏
《Java与模式》作者

我猜一场“战争”,就要降临!!!
--------------------------------
BANQ为我们理解设计模式做了些贡献!!!
--------------------------------
言语间大家应该带有谢意!!!

真是XXX的罗嗦,象个女人罗嗦,博士你这个帖子想贴几次?
你没看到你在chinapub.com上那些懒婆娘的裹脚布吗?

你以为口水多就有道理吗?我可不会理你这套啊。

再次重新声明:
<b>

博士对责任链的简化解释过了头,以致违反责任链本身的定义,如果是一个对责任链深刻把握的人,能范这种错误吗?
</b>

不要企图把大事化了,小事化无,你以为你这么一搞,就把事情性质变了?掩盖了你的腊枪头?

<b>
真不知道你的书中有没有其它类似陷阱</b>

你不是想让更多人买你书吗?不就是想赚点钱?一个美国花旗银行的副总裁需要这点钱?不多想想免费为祖国多贡献点真才实学,在那里沽名钓誉,还误导了不少初学者。

关于我的介绍,看这个链接:http://www.jdon.com/aboutme.htm
看看我的那些电脑画,没有长时间的真正的绘画方面的刻苦练习,能画到那样吗?

如果想得到我的真正见解,我给你面对面咨询啊,难道还觉得我免费得不够,这里用不踏实的理论出书误导,自己还赚了钱,这种行为不去谴责?一点明辩是非的判断力都没有,不知道怎么去编程。

如果大家对我与他的是非恩怨有兴趣,继续看下一个贴子,多点判断能力,说实话,我是真烦这种人,带一帮人跑上门无理取闹。

我在责任连中写了那段言词激烈的回帖后,我当时脑海里就浮现了今天阎博士的帖子内容。

自从这本书出来以后,我就一直回避这个问题,可以看到出版同期论坛中没有我发现关于本书的评价,我强调"避嫌".

可是,我越来越发现,我嘴巴封牢了,好像落入出版商的一个圈套,尤其当一位道友提出这个似乎没问题,但我认为很严重的问题.

因为在这之前,很多人已经对这本书充斥大量比喻提出了疑问,其实,搞文学的人知道有一个名言:原意是"比喻不是可以乱用"的.我想这是写学术性书籍最需要注意的. 反之,如果一个抽象的东西能够用比喻可以说明清楚,那么我们看到的数学课文将是孙猴子的一个桃子和一个桃子加起来是什么的描述.

从一个读者角度考虑,你为什么要使用这些可以剥离的比喻来增加书的厚度,从而提高书的售价? 我从一个普通读者角度看就对这种倾向有反感.复杂的东西简单化,可以吗?难道只能用比喻?比喻能简单化吗?

关于我个人道德,我不是崇高的人,所以我推出收费教程,已经遭到很多痛骂.
但是过去恩怨我要解释,也请博士多从我角度考虑一下:

1.关于工厂模式文章,确实写这个文章我也是在学习,否则我不会写这套文章,当时我就对博士独创的第三种模式:简单工厂有疑问,但是迫于博士走在前面了一点,我就引用吧,忘记写引用出处了,我发表在的jdon的,天极网觉得好,转载,一转载出现博士的强烈抗议了. 关于博士如何定位这个事情,认为是剽窃也可以吧.我一直是拿来主义,否则我就去科学院了.呵呵.

虽然我在模式起步上落后博士,但是我的加速度快,这是我自豪的地方,至于现在是否超过博士,单从责任连这个模式理解上我是比博士深刻了,所以才一下子看出问题,也才认为自己绝对不会范这个同样的问题.不能误导初学者,这是我的宗旨,也是办jdon的宗旨.

如果我发现有误导现象,我会毫不留情写出我的见解,这也是我曾经与Robbin等人激烈辩论的动机,现在我们是好朋友,曾经在茶楼聊得很投机,如果时间允许我们会再聚会.如果博士来上海,能杯酒释前怨是最好得啊,因为我去美国不方便啊,呵呵.

我也曾在程序员杂志为..net j2ee争论不休,被人以老老实实写程序告诫我也不介意,把真相说出来,或者我认为真相勇敢得说出来,巴金老人是这个楷模,大家应该都知道的.

我是个人恩怨和事实可以分清楚的人,至少我在这么努力吧.

2.击股传花一词语我自己想出来的,之前没看到博士的文章啊,如果博士还是觉得我剽窃,那我也不想解释,从最近国际形式看出来,美国人恨不得全世界都是他得,别人不能插手动弹.

3.在网上,只要不实行人身攻击,言词激烈没有错,如果某人舒服了那种甜吱吱得感觉,当然适应不了我们这里斗争式的气氛,我是喜欢斗的人,与技术斗,与领导斗,所以现在我没有领导了,我大学一毕业就处于个人奋斗,早就游离国有体制这个主导系统,所以我也不会IBM这样的大型企业,曾经有一个大型外企收留我一段时间,发现太难处理我了,最后友好分手.

这个环境与博士在花旗这样的大型企业从程序员混到副总裁,当然塑造成人的个性不一样,导致对同一语句理解不同,现在大家应该清楚了吧.

不灌水了,耽误大家时间,不过这样SHOW一下,论坛要热闹多,这是否极泰来吧!

都是大师级的人物,都是搞技术的或者都是喜欢研究技术的,这一点就决定了不会有太多的勾心斗角,不会有很深的利害冲突,有什么问题不能做下来好好解决呢?不必因为言辞激烈就搞的水火不容吧,要知道有很多双眼睛在看着你们了,呵呵,交流也许对一个搞技术的人来说比技术本身更重要。
期待着你们的和好,期待着看到你们更好,更多的文章和书籍,也许你们的一句话就可能让我们这些初学者少走很多弯路。

conflict 源于中美文化的差异

在国外,引用材料的时候,经常很详细的著名出处;国内的话,大家不是很看重这一点。还请两位达成谅解。

板桥没错啊,就好象我们在看JIVE源码时,觉得其中的类和方法写得很精彩,我们完全可以稍微修改一下后用在自己的项目中,难不成我在自己的源码中还要注明这个源码的思路出处?就好象有一天我诗兴大发,呤道:“举头望明月,低头思故乡。。”,难道你要我在呤诗前还要先说:“这是引自李白的。。。“?这不是呤诗,这是小学生朗诵课文。

banq:

我确实注意到你似乎没有参加到china-pub.com的无益辩论中去,也不是今天才注意到,而且我相信你的选择是对的。那里没有正常的讨论,只有出版界人士的文人相轻。我没有看到任何圈套在里面,我要面对的是几万名读者,不是一个两个人,我也没有精力针对一个两个人设什么圈套。


如我在帖子中所说,我认为你是一个真诚的人,和真诚的人是可以交流的,即便观点有所不同。关于我的书,书的风格,书中的例子等等,都属于技术和写作范围,凡是感兴趣的读者都可以发表意见,我愿不愿意听都不重要。


关于《Java与模式》中为责任链模式的例子,就是击鼓传花的那个,分成两章进行,第45章在进行了声明之后,作了简化处理,在46章中又进行完善。我对照你的批评,看不出任何地方打中了靶子。


呵呵,当然我说的是技术批评,关于你对我个人道德上的评价,我不能接受,但也不想花费时间反驳。关于你对我写作风格上的评价,我还是一句话:市场选择图书。


道德高尚与否,与收不收费,收费多高没有关系。你针对讲座进行收费,我觉得应当理直气壮。


至于击鼓传花到底是谁人所发明,看上去似乎是一个很难说清楚的问题。但是读过我的书的朋友不难有个判断:我在利用东方古典思想解释对象、面向对象、设计模式方面的做法是一贯的,像击鼓传花这一类的比喻在我的书中层出不穷,原创色彩浓厚,浸透纸墨。你老兄在这方面与我意见本来相左,却声称设计出击鼓传花的比喻来...我的击鼓传花一两年前就出现在yesky.com上,你老兄的在什么时候出现?


Banq,我也想提请你注意:每次我对你的回应都是被动回应,也都是不得已而为之,而且每一次我都适可而止。


在我们唯一的电话交流之后,我适可而止了吧?你的文章流传如此之广,里面放上别人的插图,这不是什么好听的事情吧?我并没有穷追猛打。


在你炮制出电子工业出版社同时向我们两个人约稿的故事时,因为毕竟把我明确牵扯进去了,我进行了反驳。这对你来说不是什么好听的事情吧?但是那以后我是不是保持了沉默?


如果你向被你称为“博士帮”的几位网友了解一下,你就会发现,我一直在回避评论你的例子,回避评论你的讲解,以及其中的不当之处。我给他们的解释很简单:我只讲自己的例子,不评论别人的。我有我的网站,别人也自己的网站,我不想掀起一场无谓的论战。当然我也有避嫌的心理,批评一个人的东西,同时和这个人有过节,这对批评者来说不是什么理直气壮的事情。我从来没有说明过我是因为避嫌才这样做的。


你问问richardluopeng我是如何对他解释的,一共解释了多少次?如果我把那些问题一一罗列出来,就不是比喻过没过头的问题,呵呵。


时至今日,我仍然不改初衷。我不评论你的例子,不评论你的讲解,也不评论你讲解中的不当之处。我的处世哲学,是和所有能够和平共处的人和平共处。我不回避面对面的交锋,但除非不得已,我不会再来了。


青出于蓝而胜于蓝,我写了一些文章,之后必有读了我的文章而且超过我的。你读了我的文章,而且成长迅速,这是一件好事。如果大家读了我的文章,水平反倒降低的话,难道我会高兴吗?你认为应当和我比肩而立,或者早就超过了我,要知道比我水平高的人有很多很多。你不妨把我忘记掉吧。


我出版了《Java与模式》这本书,读者遍布海峡两岸,以后必有读了我的书而且超过我的,那时就不是一个两个。我希望他们都能忘记我。


你忘了我吧。

老大,回去看看Jive的版权声明!

真心希望阎宏师兄能和BANQ和解.在此愿你们能把主要的精力放到自己的研究中去,我想这样的争论对二位无益.

各位大师们,小弟不知量力,想发表点自己的看法。
因为涉及到为人处事,本人一直追崇技术,在这方面非常欠缺。我认为涉及到人的道德问题,我们是否可以免谈!想一下,现在的社会风气,谁不想赚钱。从某种狭义意义上说,我想创业的原因是,赚钱,赚钱,还是赚钱!只要是正当的合法的,就敢赚,就敢拿!
从技术方面,我觉得大家可以尽情争论,像banq说得那样,觉得技术上那点不同意对方的,我们可以自由辩论!如果觉得公开场合不太方便,我们可以通过其他渠道。

多向SUN学习学习吧,没有其JAVA,所谓的<JAVA和模式>诸如此类的东东都是空谈,何必为这些技术问题到处"诉苦"?需知道你的见解也许别人很早前就知晓,愚直之言望无见凉

>就好象有一天我诗兴大发,呤道:“举头望明月,低头思故乡。。”,难道
>你要我在呤诗前还要先说:“这是引自李白的。。。“?这不是呤诗,这是
>小学生朗诵课文。
>

只要你不将李白的诗说成是你原创的。

>难不成我在自己的源码中还要注明这个源码的思路出处

赫赫,不遵守开源的license理所当然?

> 因为涉及到为人处事,本人一直追崇技术,在这方面非常欠?> 。我认为涉及到人的道德问题,我们是否可以免谈!

哈哈...搞笑啊...

我说两句:《Java与模式》这本书我在书店里见过,我认为只有特别笨,没有独立人格没有独立思维能力的人才会去买它,或者自白的说,只有白痴才会买它.

防火防盗防博士,一句至理名言.