欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

《大道至简》一书第三版,与编辑就本书写作风格的讨论 算法Pascal游戏笑话 

程序员文章站 2022-07-16 13:46:31
...

在这一版中,编辑周悦同学曾经给我邮件,对古文的使用,以及整本书的行文风格提出她的看法。借这个机会,我在邮件中回顾了我写这本书的整个历史,以及过程中的思想变化。不过看来,这些回顾还是有一点点成效的,呵呵——所以她才会在本书末尾的“编辑手记”中写着:没有完全被作者说服,但踏实下来了……

后来周筠老师和周悦编辑都建议把这篇邮件加到这本书的前言里去。我想了想,还是不必,要是这都写进前言了,我又有什么“料”是能拿来在博客里爆呢?呵呵,这个是笑话了——真实的是,这样的前言与第二版的前言风格差别太大。

==========

周悦,

您好。

正好,我借这个机会回顾一下我当初写这本书的状态以及思路。这大概可以说明“这本书为什么是这个样子”,以及”这个样子“究竟是怎么一个样子。

首先,书的篇章结构是一早就拟下来的。因为得到EHM这个图是早于这本书的,所以书自然地就按这个图的层次来展来了。书中的小节,则是边写边改的,并不完全是一开始就定下来。但是大约有70~80%的内容一开始就拟好了。关于这一点,我是想说明,书的整体层次、结构是设计过的,并非随心所欲。

但是这就出了一个问题,这本书一开始的基调如何?是打算写成怎么样的,以及写给谁看?这是一个好问题。但事情得回到五年前,回到我当时的状态,包括我当时如何理解这个环境、这个业界。很有趣的是,我回顾当初,却发现自己并非如现在一样的冷静与清醒。我在五年前的状态,是习惯“先否定一切,然后再尝试证明它”。也就是说,我选择了“先破后立”的一条路子。而且,这种否定感是非常强烈的,包括我写的文字,以及我当时的个性、心性、状态,都是如此。

所以,我一开始的时候,就决定在前六章(电子版)中否定掉许多工程界认可的东西;或者直接挖到这些东西的根本,找出它们原始的驱动力量;更或者就重述它们——以我自己的方式。而正是因为选择了这种风格,这本书才让许多读者“愉快”。因为蒙在这些东西上的浮尘太多了,被业界的、商业的以及技术牛人们鼓吹着的东西太多了,真正说“这些东西其实很简单”,以及还能找出“简单”的理由来的,并不多见——尤其是在五年前。

所以,前六章的风格,就是毫无顾及的批评,或者把东西说得足够简单。注意,在这个过程中,我会比较“放肆”,也不太“严谨”。因为这个风格,就是要选择一种“看起来极端一点”的方式来表达。比如说,我说李冰是看夫人下厨而“发现”烧山比挖山更有效的,这个就完全没有出处,又比如说“程序=算法+结构+方法”这个论点也不见得怎么高明。再如说,“工程不是做的,是组织的”就只是结论而没有论证过程。这些,都是在第一版中出现的“漏洞”。

但是我仍然坚持要保留它们。因为还有第七、八章。在第一版中,第八章的引言就是“管中窥豹”,与此类似的,第六章的引言是“取精去粗”,这些都是在暗示读者我对所说内容持以保留的态度。尤其是第八章,整体就是对正文的查漏补缺和反思。再加上在后来, 第二版中加入了第六、八章,还有第三版中加入了第十章,这些新的内容补全了一些观点,也使得整本书的内容变得完整起来。我想最终的这个版本,是经得起推敲的。

然而,仍然回到前六章上来。除了“取其极端”的思想方法之外,我在写作手法上也非常随意。更多是按照我的喜好来的。你在批注中提到的一些东西,例如“好蛮荒,好远古的”那是戏谑的口吻,因为前面的“挣钱的大师”是指比尔盖茨,算法、游戏、语言等等的大师,都有着与此类同的影射——我们这个时代看到的所谓大师,都是那个时代的投射来的影子——我们活在很多类似的背影之下。但是……不过……我们真的没有“工程的大师”。

再如“什么C呀,Pascal呀之类的”,那一段整个儿滴都不严谨。因为没有人说过第一个写汇编的人写的就是“Hello World”,也没有人说过是因为GOTO而导致大家把代码写到一个文件里头。这一段以及类似的段落,不要当成"正史"来读,我也没有当成正史来写,也不必去掉这些口水话的成分。因为写得越随意,大家才越不会追究它。

“很久以前,很久很久以前”,用的是童话的口吻;“这还需要分析吗?需要吗?”这种句式,是用的周星驰电影中台词的桥段。至于后面说到“论及日本,‘国家中的画匠’几个字就打发了”,如果你看看朱老先生的原文,你就知道这里对是日本文化的讽诋了。类似于这些的,我其实是在书中表达我“当时——写到相应文字的同时”的情绪。并不见得是为读者考虑,或者为书的风格来“设计”。

在前六章中,是非常缺乏这样的“设计”的。但是我个人认为,正因为缺乏设计,所以才流畅。相对于我后来在第二版中添加的“你看得到工具的本质吗”这新的一章,这六章要好得多,自然得多,引文也在上下文中更贴切。因为是有“写”和“创作”的情绪在里面的。而后来添加的许多章节,其实都偏重了分析,偏重了解说,引经据典都具有了明确的目的性,反不如前。

不过,从另一面来看,前几章取其谐,后几章取其庄。这本书的整体特点,大概就是这样一个由谐到庄的过程。因为这也是我这五年来对待“软件工程”的一个过程。我的确存在这样一种态度的转变的历程,渐而渐地来了解整个工程业界的形成、发展,以及其中的必然性。能看得到本质,能讽喻而不是盲信它, 我们才有以旁观者的身份切入的机会。由谐至庄、历经三版、耗时五年……这些东西也许正是这本书的价值与特色,正是这样真实的、显得粗糙地表现了“一个人”、“一批人”的转变和持续反思,才是它存在的意义所在。

所以,在我看到您的一些改动中,是把这种味道给改没有了的。您也许想把它改成“一本书”,或者“有某一种(确定)风格味道的书”。但事实上,它不是这样的书,它是三个版次渐进而来的。我正好不希望把这种味道调和掉。我甚至希望有一种方法——例如在书的文前页里的EHM图里面用颜色标示——来把这种渐次的、继承的味道给表现出来。

书的历史,是一种财富。与您讨论到这些,或能让您再次审校我在批注上的回复时,别有一些想法。

礼。

===

周爱民(aimingoo)
2009.11.23