关于写技术书籍

一觉醒来,BORLAND版又热闹了:

先是RL的两篇《开会无聊,冷评《delphi模式编程》》和《我们的院士和教授。》,我昨天看完就下班了,没想今天引出一堆的争论来了,此外还有两篇新的POST:小错的《老虎,棒子,虫子,鸡》和RL的《谈言论自由

至于关于RL的《论“抵制日货”应该缓行。》以及他在CSDN发的贴子,还有剑神和他关于这个的争论我就不掺和了,我的观点以前在《一不小心,我成了亲日的汉奸》中已经说过了,再说就罗嗦了。还是那句话“别人有别人看法,无法强求”,我只表达我自己的看法。

回到刘艺的书上来。就RL说的两个问题,我的看法是这样的:

古人云:文人相轻。其实程序员也是“相轻”的。刘艺即使真有略贬李维之意,也是可以理解的。

至于在书里贴代码,这种事我也干过,就不说了,说了也汗。如我在RL这篇《以往的一些话语。》中的评论所说的,一方面是出版社催稿,再则又有字数要求,也就只能用代码凑数了。

当然,不可否认这是一种很不负责任的做法,但很多时候做事情还真由不得自己,特别是当我们还是一个小人物的时候。李维可能敢说不交稿就不交稿,我们可不敢,出版社可是可以说不出版就不出版的。看着自己的心血落空,估计大多数人受不了,所以只能屈从了。BTW:不过刘艺多少也算半个名家了吧^O^

当然出版社也有他们的难处,目前技术书籍出版的竞争非常的激烈,题材撞车的概率很高,而且一般的技术书籍印数就只有几千册,如果比别人出得晚,销量可能就要少很多,对出版社来说,风险很大。除非是名家之作,还有可能可以靠作者名声保证一定的销量,比如《Inside VCL》应该说出得比较晚了,但是出版社照样敢出,而且情况好像还不错。

当然批评还是要的,就是令狐在《开会无聊,冷评《delphi模式编程》》中的评论所说的,就是我们昨天下午讨论的内容。滥用模式的过度工程已经成为目前模式应用中的一个大问题了。虽然刘艺此书对模式的入门者肯定会有帮助,但同时也可能对模式的入门者造成比较严重的误导作用。关于这方面的问题,我这两天也说过:《软件的永恒之道–模式的运用模式》和《适可而止》。

师者,传道授业解惑者也。刘艺作为一个副教授,这种误人子弟的做法是不合适的。与其空想一些不合适的例子(如令狐所说:为了模式而模式),不过将自己在实践中碰到的实际应用模式的例子说一说,可以不必把GoF的23个模式说全,但一定要把每一个说到的模式都说对,最不济的情况就是照抄GoF嘛,那也比一个不合适的例子好。

GoF四个人才讲了23个模式,平均一个人不到六个,我想他们不至于只知道这么几个模式吧,但这说明了他们的谨慎和负责任的态度,没把握的内容绝对不说。还有其它像Martin.Fowler,D.C.Schmidt等都为模式世界作出过很多贡献。刘艺想在一本书里把这些都讲好,以他的能力,我想不太可能。就算是GoF精通DELPHI,要做到都很难,以Singleton模式为例,在DFW和CSDN我都看到过关于其用DELPHI实现的讨论,与C++和JAVA实现就有比较大的差别。

其实还是令狐的建议比较好:刘艺应该就他做过的实际项目来写。如果他水平够高的话,这个项目的实现应该会有比较好的架构,并且一定会用一些模式(当然不可能是全部,有人说过:如果你在一个项目里用到了GoF的所有模式,那么的设计一定有问题),他只要写一本书把这些用到模式的部分拿出来详细说一下,一定会比现在这本要好。

就我个人的写书体会来说,对于一个没经验的作者来说,很容易被出版社牵着走,结果出一本自己也不满意的书(比如我自己)。刘艺早年的两本关于DELPHI企业应用开发的书还是不算太差的,虽然对设计等方面介绍得还不够,但至少在开发的具体技术方面说到不少别人没有说过的新东西。但后来写一些关于DELPHI面向对象编程或现在这本DELPHI模式这样的书,我觉得有点超出他的能力范围,因为不管是面向对象,还是模式,都是一个很大的课题。而刘艺毕竟也出过不少书了,还犯这样的错误,我觉得不应该。

事实上,我后来也曾经想过写一本自己理想中的书,一本介绍用DELPHI进行多层应用开发的书(一年多前还曾在CSDN DELPHI版征过书名,后来因出版社方面的问题,最后取消了),但实际动笔以后发现有点头大了。虽然我做过不少这方面的开发,也算有点经验了,但实际的情况是这样的:

我所做过开发、所了解的技术内容就像一条弯弯曲曲的线,甚至可能是断断续续的,它贯穿了我实践过的内容。而我想写的书,其内容却是这条线所覆盖的面,这时我才发现我的了解不但不连贯,而且还缺少很多的分支,汗如雨下,只能一边写一边补习这些内容。

我甚至有点庆幸最后这本书的夭折。据说RL的师傅–小小–也曾经想写一本这方面的书,不过后来好像也流产了,还好。其实我们都还缺乏对这种较大的题材的把握能力。

所以现在我只对技术的局部写一点东西,比如RL说到那段关于TThread的,因为个人认为目前还没看到有一本书能把它讲全的,而这又相对是一个小的课题,我想我还是可以把握的,只是拖到现在还没有写全,汗-_-|||

说别人总是容易的,自己做就难了。批评总是容易的,自我批评却总是难的。

做人,要厚道。

刘艺的书大概还是可以一看的,只是一边看要一边提醒自己:滥用模式的过度工程,比没有模式更糟。

17 Replies to “关于写技术书籍”

  1. 我個人倒覺得劉也在進步中,包括他的書!以前的几本企業級開發, 控件使用,比較爛,到後來的面向對象好一點!不過,我都沒認真看過,翻一翻的感覺如是!模式的書, 至少分為兩回類,一類的介紹什麼是模式,現在市面大都是這種, 劉的書, 應該也是這類; 一類是介紹如何應用模式的,就我看到的,也就是一本英文的書有寫到, 這類難度很大,需要有很豐富的項目經驗;去年關于<<java與模式>>這本書,也有很多爭論,作者阎博士的回答也很有意思,也許 令狐 與 猛Q沒參與過這場口水戰!有空我找找,看了,你們的想法會不同的!

  2. TO:ARI介绍模式也要介绍得正确,GoF介绍时就不会犯这样的错误的说^O^“为了模式而模式”这样的误导对读者来说是很有害的。不过话说回来,好像以前所有关于多层的书也有这种嫌疑的说,印象中没有哪本多层的书说过滥用多层的问题,所以造成现在CSDN和DFW中很多人都是“为了多层而多层”。-_-|||

  3. to ari,阎博士的作品我看了一个样张,明显要比刘艺的好很多。他的击鼓传花的例子也没什么实际价值,所以放过不提。但是你看他在责任链模式中对AWT的分析,除了介绍AWT中如何实现责任链之外,还分析了该实现的优缺点。AWT是用Java的人都能接触到的一个东西,这样的分析就比一个毫无实际价值的例子有说服力的多。

  4. 其實我是看了阎博那本書,才模式有點入門,不過當時大富翁還是csdn上,也有不少人發篇對他的書的內容評價,攻擊,一開始我也覺得有理,但他自己出來解釋後,我也明白了很多!我并不是拿他的書來與劉的相提并論, 劉的模式一書,我根本沒有看過!>>“为了模式而模式”这样的误导对读者来说是很有害的。這個我同意,表達模式的時候,有些人舉的例子, 确實很生硬!

  5. ari如果看了刘的样章就明白我为什么那么说了。其实说老实话,我本来就对他写的书就反感,看书成了挑刺。心态有了些问题。。。。。。

  6. 有关刘序言中的话,说,论语有好多注释的版本。他这本就是设计模式的delphi注释版本。其实我认为,论语看注释版本简直难受,我只看原版。而设计模式的注释版,不敢苟同这个……

  7. 我只推荐李维的分布式多层应用,其实也并不是很好的。相对有点过时。还是应用去学习最好。

  8. 排除某些以肤浅代言深奥的人的言论,个人感觉没必要在这里讨论这些东西了。程序同文章一样:文无定法。谁都有自己的理解…..一味在这里就这种边界不易限制的问题进行讨论感觉有点没事找事…..

Leave a Reply

Your email address will not be published. Required fields are marked *