代码改变世界

谈吉日嘎拉的《白话反射技术》及其他(吵架篇)

2009-10-16 21:08  Jeffrey Zhao  阅读(...)  评论(... 编辑 收藏

在技术社区还是以技术为先,在上一片文章里我谈了技术方面内容,那么这次就来谈谈非技术的。

我反感这种社区氛围,火药味不是问题,但是谈技术时不好好谈技术,总是扯上这人如何那人如何,你吃饱了撑的他良心被狗吃了,我实在心烦的慌。

先来谈谈我对吉日嘎拉的看法。说实话,许多朋友不喜欢他,但是我对他没有感觉。我的确非常不喜欢他对待技术的态度:随意,无所谓,将就——但是我对他的个人实在没有什么看法。我也不同意他说为了赚钱而作软件,为了赚钱而写文章,但是我又能用什么来批驳他?我能“视金钱如粪土”吗?我做不到,我无法向FSF一样提倡自由(Free),我最多提倡开源(Open Source)。吉日嘎拉是很招摇,再加上会抛出一些又一些似是而非的结论,在一定程度上的确会误导初学者。但是,如果我们动辄刷的高举反对吉日的旗帜,众人一拥而上进行口诛笔伐,言辞激烈,出口成脏,非黑即白,这又能带给初学者什么帮助?既然吉日的文章是从技术角度误导消费者,为什么我们不能从技术的角度来纠正他,而要用这种方式

包同学的文章中,除了列举了Jimmy Zhang的几篇非常优秀的文章和一本书之外,就只有这句话和“反射”有些关系了:

最后,不要怀疑反射的应用,三层架构中的数据层和DB的Mapping,AddIn架构,都离不开反射。这个话题说起来就大了,没有几年的项目实际是感受不到的。

但是,这除了让人知道反射这个话题很大,没有几年实际项目经验是感受不到……之外,别人又获取了什么信息呢?更让我奇怪的是,包同学举出的两个示例,恰好符合吉日文章中的几个观点(这点在前文中已经有所指出),这种缺乏条理的思维“碰撞”又能给出者带来什么呢?Jimmy Zhang的文章的确好,但是这几篇文章写的是反射的“使用方式”,而吉日的文章写的是反射的“使用场景”,两者完全不构成冲突,又能说明什么问题呢?Jimmy老大的文章是非常正确的,但这不能证明吉日是错的——请注意,我并没有说吉日“一定没错”。我在包同学的文章里也表达过类似的意思

Jimmy Zhang的确写的好,但是他和吉日写的完全不搭界。Jimmy Zhang写的是怎么用反射的类库,框架,怎么调用等等。而吉日写的是反射的一个使用案例,说白了也就是传统的反射工厂生成一个数据访问层接口的实例。我虽然不同意他对于技术的态度,但是就这个案例本身,虽无闪光点,但又错在什么地方?

但是直接被包同学当头一棒:

你真是扯蛋,我文章的最后一句话就是写给你的。

你俩就惺惺相惜吧。

而那“最后一句话”:

最后,质疑那些为其鼓掌叫好的看客,包括一些沽名钓誉的狗屁大腕儿,你们的脑子都进水了?你们到底从中看明白了啥?你们还是做技术的么?你们的技术就全都是这么做的?你们吃饱了撑的在那里摇旗呐喊称兄道弟?你们的良心都让狗吃了?

天地良心,我什么时候把吉日文章中错的东西说成是对的了?想了想,我唯一“夸”吉日的话应该只有这句

吉日兄很直接,这点很好。

我喜欢直接的人,不喜欢娇柔造作的人,所以我说这句话。而我喜欢的也只是吉日的“说话风格”而已,这就说明我支持他说的东西?为什么没有看到我对他文章中错误内容的评价,以及一次又一次对他“无所谓态度”的反驳?为什么我在谈论技术,就非要立马对于个人一顿臭骂?

支持一个人的部分,就说明支持他的全部?别人不能有任何对他的反对,否则就一阵劈头盖脸?

反对一个人的部分,就一定要打击他的全部?别人也不能有任何对他的支持,否则就一阵劈头盖脸?

其实包同学看不惯吉日,只是“风格”上的冲突,“意识形态”的冲突,本和技术无关,或者说完全可以通过技术方面的交流,探索,甚至是“搏斗”都可以解决,但为什么一定要用一些恶毒的语言进行人身攻击?这种讨论技术的态度不可取,尤其是举的例子本身就不恰当——我还是想说,包同学和吉日对于反射的使用场景问题上是统一的,其实唯一的“冲突”也就是“一个认为重要,一个认为不重要”。但是“重要”本身就是个无法量化的程度,这是一个非要拼个你死我活的问题吗?

我不认为兄弟们不知道正确地反驳一个人文章的方式是什么,但是许多朋友一定是被“冲动”二字搞坏了。冲动是魔鬼,这点实在不假,我也是靠着冲动在写这篇文章——不冲动就不是年轻人了。但是,在冲动的时候,还是尽量让“理智”占据上风吧。社区里吵架,吵着吵着就都变成面子问题了,何必呢?

我一直不喜欢“和谐”也不喜欢“和稀泥”,但是我同样不喜欢技术范畴外的冲突。如果要反驳,我们可以着眼于技术。例如,Stephan Schmidt在博客中发表了题为《下一代Java编程风格》的文章,阐述了他眼中Java编程风格的改变,以及未来的走向。于是有许多人发表了不同看法,如Cedric Otaku发表了文章《下一代Java与现在差不多》,逐条批驳。还例如,Patricks Smacchia认为NHibernate代码不稳定,Oren Eini不干了,逐条批驳,Patricks老大又撰文反驳,Oren也继续,最后我看着爽,就总结出一片InfoQ的新闻。同样的讨论还有譬如“所有的成员都应该是virtual的吗?”,还有前一段时间的Duct Tape Programmer事件,都可谓是互联网上的高质量辩论,无数人独立撰文发表了自己的看法。这些才是技术人员应有的风范。

您觉得吉日的文章误导初学者吗?写文章反驳吧!

您觉得吉日的文章充满铜臭味吗?写文章反驳吧!

Ivony…包同学的文章中回复的我认为很好,摘录如下:

博客园不应该是一个只能听到权威的声音的地方。或者说我们不能强求首页的每一篇文章都是对的,都是出自某个权威的人士之口。我们只能要求首页的每一篇文章,都是作者用心写的,而不论其对错影响。

甚至于说,文章放在首页就是接受大家的检验的。首页是讨论区而不是公告区。

话说回来,吉日写的文章就算是胡诌乱侃,那又能影响多少初学者呢?或者说一篇胡说八道的文章在首页误导了一大堆初学者,这里面难道没有初学者,以及所谓大牛的责任?初学者不辨是非,大牛们看见错谬而不予指出。

我觉得至少有一点,吉日的文章并不是一无是处,它可能会对初学者产生误导,但避免这一点难道的做法就是牺牲一个人自由发表文章的权利而不是群众的监督么?这未免太过于残忍。

我们今天打跑了一个吉日,难到明天不会冒出另一个吉日?任何时候群众的监督都是有必要的(如果真的有误导的话)。

我不否认吉日的问题很多,标题党,口水文,喊口号,拉旗帜。但如果这些东西真的能误导无知菜鸟的话,我想这些无知菜鸟自己也要负一部分责任才是。

包同学认为,如果写文章那就是在用自己的名气打吉日的知名度。以前记得也有朋友告诉我说,写了一篇批驳某本书的文章后,过一段时间就删了吧,否则还是变相打广告。炒作的越多,书卖的越好,吉日也越出名。但是我认为,书卖的多,吉日出名有什么关系呢?我们的目标是引导初学者,并不是要阻止别人卖书或要打压吉日出名,我们是在追求一个真理。当社区里批驳吉日的(有价值的)文章越来越多,到底什么是对的什么是错的也就一目了然,就算吉日名气再响又如何?我批驳一本书,我还希望这篇文章能够满山遍野的转载,让任何一个买书的人都能看到我的文章。有人是会感兴趣,然后去买,那又如何,他看了大量的驳文,自然知道什么是对的,什么是错的。

排错,也是需要教材的,不是吗?

我已经写了一篇文章,接下来就要靠大家了。挑出你最不满的吉日的文章,逐条反驳吧。

吵,吵个大西瓜。