`
javasee
  • 浏览: 957962 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

《大道至简》的幕后故事

阅读更多

一、大道至简与愚公移山

=======

《大道至简》一书最初的领悟来自那张EHM图。这个故事我在书中已经讲过:在一次Delphi.NET培训的准备工作中,我顿悟“语言只是工具”,并由语言的工具本质为起点,透视了整个软件工程体系。这张图后来被补充为“软件工程层次模型(EHM)”。而从这张图起,我便有开始为我的这些想法写出一本书来,而书的名字就是《大道至简》。

我写书是从前言开始,在写《大道至简》的前言(第一版的“前言后语”)时,我并没有想到从哪里开始写整本书。也就是说,只有写书的想法,却没有整个框架。因此你在前言中看不到有关“愚公移山”的任何信息。开始写第一章的时候,久久不能下笔,也不知道从何论起。我找来一本成语词典,东翻翻西翻翻,一眼便瞅见了这个“愚公移山”,再一想:嗯,的确是个好题材。这才由此下笔,因而《大道至简》开篇便与众不同。

二、第一版中的愚公移山

=======

在第一版(电子版)中,愚公移山的故事只是用来总结“编程的精义”。尽管我称愚公为“工程名家”,但事实上第一版中所写的愚公“并不怎么会工程”,我对“愚公式的开发”、“积极的愚公”、“忽略成本的愚公”等都是持批判的态度的。唯一被肯定的是他的“聚室而谋曰”和“编程的(而非工程的)精义”。

我并没在更多的地方提到愚公,但这并不妨碍我想念这个人物。我在20054月完成了第一版的全文,7月我从郑州的那家软件公司职辞,驾车去西藏旅游。——说是驾车,其实不是我驾(我不会开车)。所以一路上便是听评书和想问题,这个过程中想得最多的便是这本书,以及书中提及到的工程问题。

思考的过程终于在我抵达珠峰大本营的那晚爆发了,爆发的原因则是一罐啤酒。我很自信地弄了一罐啤酒,准备在珠峰底下过过瘾,结果只能喝下一半。就这一半也很快发作了,当时便心脏受不了,晚饭也没吃便躺下睡去,而半夜又醒转来睡不着。这睡不着的光景里,愚公就开始移山了。——哈哈。整个愚公家族近三百年的移山工程,如同在我脑子里活着一样,一幕幕地演过去。

从西藏回程的时候,我一遍又一遍地回想这个故事,终于不会再忘却了。我想我已经找到了《大道至简》一书的另外一种述写方式:一篇文言的、寓言式的故事。

三、第二版的起因

=======

第一版实在太薄,大概只有120来页,而且还是一种小开版的。当时也是跟博文视点谈的出版事宜,直到200510月也没结果。而我在9月开始便受聘于上海盛大网络,任架构师,并随即展开了“数字家庭战略”中的软件平台的架构设计工作。我基本上不会再有时间纠缠在《大道至简》一书的出版,或者“愚公移山”故事的编写上。因此,我在10月以电子版的形式发布了该书的第一版,并约请蒋涛写了序。

第一版最终不能作为印刷品出版,这很令我沮丧。但心里仍有些不甘,当时给蒋涛说:如果博文视点有计划要出版这本书,我还是把优先权留给他的。

电子版引起了广泛的关注,也有一些无关痛痒的争议。这些现象引起了邮电和清华两家出版社的注意,他们先后送出了合作的意向,想要出版这本书。清华出版社的朋友甚至为这本书拟了一个丛书,但也因为计划做成丛书的缘故,空耗了许久的时间,以至于后来邮电出版社挤了进来。我则两相努力,单等某一方递出最终的合同。而这时刻,博文视点的周筠老师也得了消息,打算要出版这本书了。缘于此前跟蒋涛的承诺,我很遗憾地拒绝了其它两家的合同(尽管合同已经寄了过来),从此这本书的出版权落在了博文视点(电子工业出版社)的手里。

这件事我一直对邮电、清华的两位朋友深怀愧意。在《大道至简》的致谢中再一次提到这件事,用了八个字“未能兼美,深为致歉”。其实哪里单单是致歉的事情,心中之惭愧不便言说罢了。

四、《大道至简》中的古文

=======

这本书引用了不少的古文,由此引起的争议也不少。其实,我想反方同学读书大多不细致。因为仔细地看去,就会发现我所引的古文多是大家熟读的。很多原本就是直接来自于成语,概略地数过去,就有:愚公移山、三人为众、皮之不存毛将焉附、问道于盲、徒有其表、买珠还椟、自相矛盾、一鼓作气(三鼓而竭)、工欲其事先利其器……这些成语或寓言,大多在中小学的课本中就学过,所以谁要说读不懂或者不易读,那我实在不知道应该如何回应才好。

我大致地统计过,这些古文中生僻的只有三四处。生僻的引文我要么作为章节前的引用不讲,要么就讲得很细。所以在我看来,第一版中的古文如果令人不快,那么这人大概是根子里便不喜欢古典,而不是文化知识上的欠缺。

由于这本书本来就是讲思想方法的,因此很多古文并不直接引用原意,而是引申开来讲。例如“求道于盲”,原本是指不正确的做法,而在《大道至简》这本书中,提出的观点却是:可以求道于盲,但别睁着眼问。

很多人跑来给我说需求做不了,跟客户没法沟通。其实问题在于他根本不了解客户,也不会顺着客户的思路去了解需求。我见过很多客户为了满足软件开发方的“需求”,而组织什么UMLRUP的培训班,甚至学习一些建模或者流程工具来描述他们的想法,每每看到这种情况,我都为客户感到痛心:他们要付出多大的学习成本,才能满足软件公司对他们的(而不是他们对软件公司的)期望啊?

求道于盲真的错了吗?南橘北枳究竟是橘的问题,还是枳的问题,亦或者两者皆不是?……总之,这些(工程中的)问题,原本只是思想方法的问题,而现在散落在工程实践中,被人们用不同的理论、方法解来解去,最终弄得一团糟。

所以我说:命题设错了,就成了问题了。

就如同这里的古文,我根本就不看成问题。因为问题并不在于易不易读,而在于读的人根本不想读。

那就不是我的问题了。

五、插图与漫画

=======

邵荣国夫妇是我多年的好友了,邵先生现在在郑州一家公司任艺术总监,而他夫人(明明)则与他是同学。第一版的漫画是由明明画的,画稿的创意来自于她读这本书的过程。第一版中邵先生只画过一辆坦克,但在第二版中却没有用这一稿,因此在48页上的那辆坦克仍是明明的原作。

第二版决定加入一套“愚公移山记”的漫画,这套漫画最初我仍是请明明执笔。那时她正怀着小宝宝,赶在小宝宝出生前,明明给我了这套画稿——再次感谢她的工作。后来,周筠老师觉得画风不够细腻,希望重画一套时,明明正在哺育小宝宝,我已是不敢打扰的了。

再找画稿作者的任务很艰难,而且时间太紧。最终帮我完成这项任务的是同事武洲,我从他家领养了一只小猫,缘此而相互熟悉。而他给我推荐的人选,也是盛大网络的另一名前同事,叫丘宝——这不是他的真名,而是小名,但他希望用这个名字。丘宝很痛快地接受了这个“不可能完成的任务”。接下来两周,他完成了这套画稿。

当然,这里还得感谢邵荣国和明明。这套画稿的脚本我一早便已写好,而明明也已经为此完成了一套作品。而丘宝则需要用另一种画风来做这件事情,有了脚本和画稿垫底,便少费了很多周折。对此邵荣国夫妇俩功不可没。

事实上,邵荣国也只为这套漫画画过一个很卡通的铁匠,后来丘宝在绘制这一页时,换做了一个奋力敲击的铁匠,于是整套漫画(以及插图)中便再也找不到邵先生的影子了。

丘宝也是我要真心感谢的一位朋友,连周筠老师也夸赞他的认真与专业。《大道至简》第二版中的这套四格漫画,每一处细节、每一个人物都非常精到。而我尤其赞赏的是他言出必行的行事作风。

最后提到一些细节,这套漫画只有九幅,而全书却有十章。这是为什么呢?事实“愚公移山”的故事是先写的,而在为本书各章配漫画时,发现第四章是讲沟通问题的,而愚公移山的故事里没有任何与沟通相关的内容,因此只好不画这章的漫画了。

而其它各章的漫画与书的内容都是有相关性的——讲述的是相同或相近的内容。所以我一直给周老师说,漫画是书中思想的一条暗线,而那篇古文,说的则是与正文相近同的内容,只是说法不同而已。

六、封面与章首

=======

《大道至简》一书的第二版是在20069月初完稿的,之后便是审校、排版之些工作。其间的辛苦自不必讲,与博文视点的晓菲编辑用了大概两个月才磨合到工作状态。这期间,除正文和整体版式之外,序言、漫画、附录中的文言和封面都未定稿,因此我还得一件件去跟进。

简单的一张封面,没想到最终却成了整件事的瓶颈。因为“大道至简”这四个字实在太过抽象,因此邵先生给出的第一个设计是一只手,指尖有光晕一圈圈地扩散出来,其意则在于道的传播。为了让这个封面看起来与计算机有些关联,手的旁边还飞舞着很多数字0、1。

(封面样图一)

这张封面很自然的被否定了,因为包括我这没什么美感的人都觉得它奇丑无比。周筠老师说拿到这个封面时差点被吓得从椅子上翻倒过去,实在不忍目睹,要把这页揭去了才敢看正文的,哈哈。还好这是邵先生的一个同事的创意,因此做得丑也不跌份。后来邵先生又做了数稿封面,也是不满意。我又找到以前《Delphi源代码分析》一书封面的原创意者李静(bubu),希望她能给出一个构思来。然而面对“大道至简”四个字,bubu也才思枯竭了。

不过在这个过程中,我们达成了一个共识:封面并不是要表达“大道至简”,而是着力于突出抽象的“道”,或者本质的“简”。也就是说,要么求简,要么释道。

在困惑许久之后,在某晚临睡时,我突然想到三个和尚没水喝的故事。这不仅是因为“三”代表团队问题,而且三个和尚其实也是一个管理问题、团队问题。此外,这个故事也曾经被陈抗先生引用来解释奥尔森的“集体行动”理论。我觉得三个和尚的故事背景足以隐寓团队中的某些“至简”的智慧。因此随后,我请丘宝绘制了一幅“三个和尚没水喝”的漫画,又请邵先生再次设计封面。

(封面样图二)

这次看来不错,但在封面版式上的书名用字却迟迟定不下来:因为那“三个和尚”的缘故,字体选择总是显得别扭。周筠老师则第三次压下了书稿的最终印刷,把“重新设计封面”的任务交到了方舟的手里。几周过去,方舟终于开始抱怨“三个滑稽的和尚”限制了他的设计思路,把黑锅扔到了这幅封面底稿的头上。据说,当得知我同意放弃“三个和尚”的创意时,方舟兄竟开心得大喊:“别了,和尚们。”

接下来呢?方舟兄前门向三个和尚辞行,后门则揖请三个道士。一方面和尚换作了道士,另一方面“没水喝”的工程窘况,换作“论道”的学术盛况。于是我们看到了最终这个封面,而这个封面让周老师和我都大呼过瘾,是很难得一见的好设计。

(封面样图三)

许多天之后,我仍在品味这本书的设计。然而我发现,它与最初的那个丑陋的“一只手”没有根本的区别:以三人中最左侧的道士揖起的手为中心,仍是一圈圈的光环,寓意“道”的光芒在传播开去;而背景中加上了出自黑客帝国的数字瀑布,以体现与计算机相关的含义。

回顾这个长达数月的设计过程,白底黑墨的三个和尚,换成了简笔反色的三个道士;将简单的0、1数字换成了炫丽的数字瀑布;将规则的几何圆周换成了如何灯晕闪烁……然而有谁注意到:创意仍不过是一样的创意,加上设计就变成了商业的作品。同样的看去,原本简单的工程本实,已经泛滥为整个行业的浮华。

谁会回过头去,看看原初的那些简单、甚至显得丑陋的本相呢?

七、其它

=======

很感谢一些朋友来信与我谈论书中的古文。例如汤国华先生甚至例举“文章里的每一个方程式都会让他的读者减半(霍金)”,希望我注意到这个问题,并说“你文章开头的文言,也一样”。很感谢他,以及所有朋友们对此的关注。我首先认为汤先生的意见非常正确。但一方面就我个人来说,是很难容忍对传统文化的漠视的。但另一方面,只要不妨碍我对思想的表达,我也并不介意于用东方思想,还是西方哲学来表达我的个人观点。因此,我既读《二十四史》,也读《权力与繁荣(奥尔森)》。

不过本书既然是在讲我的思想,那自然用的是我的思想方法。在这方面,我承认我这几十年还是在按中国人的法子活着,固而也是按中国人的法子在想事情,所以也更易于用中国的思想哲学来解释自己。如果让我用西化的语言去做这件事,我做不好,也不能自欺欺人,所以请愿谅我只能做个中式的学究吧。

既要做个中式的学究,那索性做得像样一点。《大道至简》第二版中加入一篇“愚公移山记”,这数千字的文言多少也与第一版的被批评有关。——要文言就文言得彻底一点,不如我自己来写一篇,占用几页的字纸来彰显一下古文的精彩,有何不可?

那么这篇文言又是怎么写成的呢?且等我下回再讲。

分享到:
评论

相关推荐

    《“e”网神话 解读全球十大网络公司的幕后故事》作者: 邓智海编著 出版年: 2000年

    作者: 邓智海主编 出版社: 天津社会科学院出版社 出版时间: 2000-07 版次: 一版一印 印刷时间: 2000-07 装帧: 平装 开本: 32开 页数: 484页

    苹果“非同凡想”广告的幕后故事.docx

    苹果“非同凡想”广告的幕后故事,揭示了苹果公司在1997年推出的标志性广告是如何诞生的,以及它与苹果创始人史蒂夫·乔布斯的关系。这个广告的创意过程是由TBWA/Chiat/Day广告公司的创意总监Rob Siltanen和他的团队...

    精雕5.21幕后男主角版+诺诚4.0

    《精雕5.21幕后男主角版与诺诚4.0深度解析》 在IT行业中,雕刻软件的应用广泛,尤其在艺术设计、模具制造等领域,它们是技术人员的重要工具。"精雕5.21幕后男主角版"与"诺诚4.0"便是其中的佼佼者,这两款软件的结合...

    射频(RF)基站的幕后故事(第1部分)

    射频通信是现代无线通信不可或缺的组成部分,它使得人们能够在没有物理介质连接的情况下进行通信。射频信号的产生和传输主要依赖于基站或蜂窝塔,这些基站内部包含了众多关键组件,其中功率放大器(Power Amplifier...

    日本动画制作幕后完全流程揭秘(doc 47).doc

    《日本动画制作幕后完全流程揭秘》是一份详细揭示日本动画产业内部运作的文档,涵盖了从策划到最终成品的每一个关键步骤。在这个过程中,技术扮演着至关重要的角色,它不仅是艺术创作的工具,也是保证作品质量和效率...

    MEMS微纳电子产业报告:高科技的幕后英雄(12页).zip

    MEMS微纳电子产业报告:高科技的幕后英雄(12页),资源名称:MEMS微纳电子产业报告:高科技的幕后英雄(12页)20190731-华夏幸福产业研究院-华夏幸福产业研究院MEMS产业大观:高科技的幕后英雄.zip...

    日本动画制作幕后完全流程揭秘.docx

    策划书的成功与否直接关系到项目的生死,通常包括故事概述、角色设计、预期市场等关键元素。 接下来是制作经费的计算。制作公司通常没有足够的资金独立完成动画,因此需要寻找赞助商。对于原作改编的作品,由于已有...

    blog:Type.sh的幕后故事

    Typed.sh Typed.sh只是一个博客, init吗? 内置最新技术,可立即使用CI和CD。 无缝体验静态生成和Next服务器。 使用MDX和Chakra-UI的美好的下一代博客发布体验。目录安装要在本地部署Typed.sh博客,需要在安装之前...

    中铁快运重组幕后.docx

    中铁快运重组幕后.docx

    浏览器的工作原理:新式网络浏览器幕后揭秘

    这是一篇全面介绍 Webkit 和 Gecko 内部操作的入门文章,是以色列开发人员塔利·加希尔大量研究的成果。在过去的几年中,她查阅了所有公开发布的关于浏览器内部机制的数据(请参见资源),并花了很多时间来研读网络...

    【转载】浏览器的工作原理:新式网络浏览器幕后揭秘

    这篇博文将深入探讨新式网络浏览器的工作原理,揭示其幕后的技术细节。 首先,我们要理解浏览器的核心组成部分:用户界面(UI)后台、浏览器引擎、渲染引擎、网络模块、JavaScript引擎、数据存储等。 1. **用户...

    联想实施ERP项目台前幕后.doc

    联想实施ERP项目台前幕后

    麒麟玉与幕后杀手.docx

    从给定的信息来看,本文描述了一个充满奇幻色彩的故事,涉及神秘的麒麟玉、幕后杀手以及一系列惊险的救援行动。虽然这些元素更多地出现在文学创作或游戏剧情中,但我们可以从中提取出一些与信息技术相关的概念或者...

    肉鸡行业专题研究:从幕后走向台前,美国鸡的品牌化之旅.zip

    本专题研究聚焦于肉鸡行业,特别是美国鸡肉品牌化的进程,旨在揭示这一传统产业如何通过品牌化策略实现从幕后生产到台前市场的转变。美国作为全球最大的鸡肉生产和消费国,其肉鸡产业的发展模式对全球具有重要的参考...

    Ping”的幕后过程.pdf

    Ping 命令的幕后过程 Ping 命令是我们在日常工作中经常使用的一种网络诊断工具,但我们有时候并不知道它的幕后过程究竟是怎样的。本文将带领读者探索 Ping 命令的幕后过程,并详细解释其工作机理。 首先,让我们...

    Windows 启动的幕后过程

    【Windows 启动的幕后过程】深入解析 Windows操作系统启动是一个复杂的过程,涉及多个组件和步骤。了解这一过程有助于我们解决启动时遇到的各种问题。在本文中,我们将详细探讨Windows启动的基本原理,从系统架构到...

    浏览器的工作原理:现代网络浏览器幕后揭秘

    这是一篇全面介绍 Webkit 和 Gecko内部操作的入门文章,是以色列开发人员塔利·加希尔大量研究的成果。在过去的几年中,她查阅了所有公开发布的关于浏览器内部机制的数据,并花了很多时间来研读网络浏览器的源代码。...

    浏览器的工作原理:现代网络浏览器幕后揭秘.pdf

    这是一篇全面介绍 WebKit 和 Gecko 内部操作的入门文章,是以色列开发人员塔利·加希尔大量研究的成果。在过去的几年中,她查阅了所有公开发布的关于浏览器内部机制的数据(请参见资源),并花了很多时间来研读网络...

    案例4:联想实施ERP项目台前幕后.doc

    案例4:联想实施ERP项目台前幕后

    硬件工程师:塑造数字世界的幕后英雄.zip

    硬件工程师是数字世界的幕后英雄,他们用精湛的技能和不懈的努力为我们创造了丰富多彩的电子产品。作为一名硬件工程师,需要不断学习和提升自己的能力,以适应不断变化的市场需求和技术发展。同时,也要注重团队协作...

Global site tag (gtag.js) - Google Analytics