从技术问题变成RPWT

前几天在豆瓣上围观了一次争吵

起 因是Milo同学发了一篇书评,指出书中存在的一些错误。但是引起了作者肖老师的不爽。作者不但不承认这些错误,反而指责Milo是某些别有用心的人故意 来破坏他书的销量。到了26号晚上这个帖子被转发到twitter上,无数推友组团前去围观,其中不乏圈内高手多人。然而正是因为这种惨无人道的围观, 让作者终于失态,结果弄得不可收拾。到了27号早上,作者终于发现不妥,回头把自己发的帖全删除了。这就是为什么上面的链接中没有肖同学的发言。

但是他居然没有意识到任何内容发到网络上就成为了历史的一部分(virushuo对此亦有贡献),于是赖勇浩将其存照了。

本来这种娱乐的事情围观完就算了,我也没想过要拿出来说,做人不能太不厚道。但是没想到这个作者显然还不甘心,又作文继续狡辩。最终将此技术讨论发展成了一件RPWT的事情。

按 我以前接触过的国内出版业人士来看,肖老师在BLOG里说的“书黑”这种事情在中国的确很可能发生。但是他的错误在于,把所有提意见的读者都当成了 书黑,这未免有点被迫害妄想过头了吧。要知道,请一帮网络黑社会也是要花不少钱的,一个编辑做一本书赚的钱估计是不够的,更何况目标还是这样一技术含量比 较高的书。

其实光是从Milo指出的几个问题来看,他就不可能是什么书黑,哪有C++水平这么高的书黑——要是C++功力这么深还当什么书黑啊,书黑能赚几个钱。而作者连这点都看不出来,显然他的C++功力也不怎么样,以此推断,那本书显然也的确不怎么样。

要说作者狂妄得不知道天高地厚,他在陈硕面前却又谦卑得未免有点过头。但他孤陋寡闻倒是一定的,否则不会叫嚣让别人亮出真名来PK——人家的网名都比你的真名要名气大得多,你不知道只能说明你没见识。

至于拿什么军方项目的借口来搪塞,就跟卡尔·萨根火龙一样,怎么吹都行,反正没办法证实或证伪。不过对付它的办法也很简单:只需要一把奥卡姆剃刀——既然对证实证伪都没有帮助,那就是无用的东西,无视即可。

最可笑的是他居然号称要去BLOG发文叫帮手——他的CSDN BLOG可是有“惊人”的30万访问量。赖勇浩只能惭愧滴说:我还不到70万……

如果一开始作者能够谦虚地在技术上与人讨论的话,不但对于自己有帮助,对于书的以后再版也有改进,最关键的是也不会造成现在这种不良影响。

然而遗憾的是作者只会在陈硕这样的知名专家面前表现谦虚,却不知道网络上藏龙卧虎,水深得很。保持低调和谦虚可以让你收获更多的学习机会,而像这样装逼过头,结果只会是让人围观你的RPWT。

据说这位肖老师还是CSDN学生大本营的头牌,实在有必要友情提醒这些学生们:

学技术固然重要,但是人品更重要。

====补充的分割线====

本来不想到CSDN来掺和的,做人要厚道。要是作者知错能改倒也善莫大焉。然而此人RP之差超出了我的想像,只好来趟这趟浑水了。反正如作者所言,我们一帮老家伙都已经成了Milo的助威团,那就不妨助威到底。

之所以要补这一段,是因为作者又出自辩词称他的书还是以C为主之类,并非是C++野路子。显然以他的水平都没能理解为什么别人说他的做法是野路子。

混合编程没有错,C++编译器兼容C代码并且支持汇编也没有错。但是他的做法不对。以Milo在第4-6章的评论里指出的几个问题为例。

首先是那个MVAR,根本就是他自己用法错误,说明了他对C++ template的不熟。

另外一个是那个所谓的“二元动作理论”。这个东西用C++做的确比C好,但是他的用法根本就还是C的那套,与其如此不如直接用C实现。

所以说,混合编程没有错,但是混合编程的目标是要把不同的语言的各自优点发挥出来。不过肖老师用到C++的时候虽然不多,但不是用法错误,就是用了C++还不如不用。这就是他的“野路子”所在。

更不用提那个ComputeMean函数了,连基本的平均数算法都搞错,小学数学不过关啊。

至于说语言只是用于表达概念,这也没错。十多年前我还用汇编写过OO程序(通过伪指令和人为约定实现),这种做法是可以理解的。但是前提是至少要把语言用对吧。语言都用不对,显然不能让读者了解正确的概念。完全是误人子弟。

肖老师所谓的助威团,其中很多人我都认识,基本上都具有十年以上大系统跨语言跨平台的开发经验,技术水平之牛那也自然是不在话下,只是平时为人低调,肖老师不认识罢了。说句不夸张的话,这些人开始写程序的时候,估计肖老师还不知道C语言是啥。(此句不妥,删之)

当然,肖老师作为学生大本营的头牌,我也知道CSDN的各位老师对此相当为难,但还是希望CSDN能从此事中吸取教训。

写技术书出点错误难免,正如没有人能写出完全没有BUG的程序一样,完全没有错误的书也是不存在的。

作者的人品才是最重要的。