《大道至简》的幕后故事

2024-01-17 11:38
文章标签 故事 幕后 大道至简

本文主要是介绍《大道至简》的幕后故事,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2007年04月15日 18:12:00

一、大道至简与愚公移山

=======

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

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

二、第一版中的愚公移山

=======

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

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

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

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

三、第二版的起因

=======

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

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

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

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

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

=======

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

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

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

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

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

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

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

那就不是我的问题了。

五、插图与漫画

=======

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

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

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

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

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

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

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

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

六、封面与章首

=======

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

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

(封面样图一)

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

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

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

(封面样图二)

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

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

(封面样图三)

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

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

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

七、其它

=======

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

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

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

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



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1565605


这篇关于《大道至简》的幕后故事的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/615904

相关文章

【职场人】职场故事:与邀功精的共舞

在我的职业生涯中,我遇到过一位特别引人注目的同事,我们都叫他李经理。他的工作能力并不差,但他有一个习惯,那就是喜欢邀功。他的这种习惯,不仅让我印象深刻,也让我在合作中学会了不少东西。 恶心的四件事 抢占他人成果:有一次,我和李经理一起负责一个项目。我花了大量的时间做市场调研,准备了详细的报告。然而,在项目总结会上,李经理却把这份报告当作自己的成果,夸夸其谈,仿佛他才是市场调

【Rust 日报】2020-11-04 bacon: 幕后代码检查工具

async-std v1.7.0 发布 增加了 tokio-03 的 flag , 可以很好地适配 Tokio 0.3 的 runtime。更新了一些依赖 https://github.com/async-rs/async-std/releases/tag/v1.7.0 bevy_tilemap:基于块的地形构造工具(tilemap) 用于游戏引擎 Bevy 中,支持多线程块,泛型 traits

短剧革命:掌握系统搭建,让你的故事火遍全网

在这个信息泛滥的时代,短视频已经成为人们获取娱乐和信息的主流方式。其中,短剧作为短视频的一种形式,以其紧凑的剧情、鲜明的人物塑造和高度的娱乐性,迅速赢得了广大观众的喜爱和追捧。然而,要想在浩如烟海的短剧中突出重围并非易事,这需要创作者不仅拥有创新的内容和独特的视角,更要掌握一套系统的搭建方法 一、创意与策划:打造独特故事线 成功的短剧往往源于一个独特而富有吸引力的故事。创作者需要深入挖掘日

IT:双桥故事

IT寓言:双桥故事 转载自:http://blog.csdn.net/q969403688/article/details/8260168 转载理由:好的内容,共勉 两个老工程师坐在一起聊天,炫耀他们自己做过的最伟大的项目。其中一个工程师讲述他说如何设计他此生建造的最大的一座桥梁。   “这是一座横跨大峡谷的大桥,”他对他的朋友说。“一个又宽又深的大峡谷。我们

[29期] 一个乞丐的故事,什么叫职业人?

我不知道这个故事是真的还是假的,但故事里面有很多值得体会的知识,所以分享给各位兄弟姐妹看看~ 我拎着刚买的levi's从茂业出来,站在门口等一个朋友。一个职业乞丐发现了我,非常专业的、径直的停在我面前。这一停,于是就有了后面这个让我深感震撼的故事,就象上了一堂生动的市场调查案例课。为了忠实于这个乞丐的原意,我凭记忆尽量重复他原来的话。 "先生……行行好,给点吧。"我一时无聊便在口袋里找出

MySQL 的故事:一场 SQL 语句的戏剧演绎

本文由 ChatMoney团队出品 第一幕:解析与优化 - “翻译官与谋士” SQL 解析器是第一个上场的角色,任务就是把 SQL 请求翻译成 MySQL 能听懂的语言。就像你点餐时,服务员得听懂你到底要什么菜。不然你说“我要一盘炒青菜”,结果服务员听成了“我要一盘草皮”,那谁也吃不下去啊! 接下来登场的是查询优化器。这个家伙负责思考怎么最高效地跑完这条 SQL。想象一下,你点了一

男人必读五个小故事

1、 情况不同  一只小猪、一只绵羊和一头乳牛,被关在同一个畜栏里。有一次,牧人捉住小猪,牠大声号叫,猛烈地抗拒。绵羊和乳牛讨厌牠的号叫,便说:「他常常捉我们,我们并不大呼小叫。小猪听了回答道:「捉你们和捉我完全是两回事,他捉你们,只是要你们的毛和乳汁,但是捉住我,却是要我的命呢! 立场不同、所处环境不同的人,很难了解对方的感受;因此对别人的失意、挫折、伤痛,不宜幸灾乐祸,而应要有关怀、了解的心情

【教学类-12-12】20240617通义万相-动物图片6张编故事(A4一页4条)

背景需求 【教学类-12-11】20240612通义万相-动物图片连连看(A4一页3套)-CSDN博客文章浏览阅读891次,点赞34次,收藏11次。【教学类-12-11】20240612通义万相-动物图片连连看(A4一页3套)https://blog.csdn.net/reasonsummer/article/details/139599675 用以上的方式,制作图案随机出现的样式

吉哥系列故事――完美队形II(HDU-4513)

Problem Description 吉哥又想出了一个新的完美队形游戏!    假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] ... h[n],吉哥希望从中挑出一些人,让这些人形成一个新的队形,新的队形若满足以下三点要求,则就是新的完美队形:    1、挑出的人保持原队形的相对顺序不变,且必须都是在原队形中连续的;    2、左右对称,假设有m个人形成新的队形,则第1个

我的故事、反思与建议!

标题:程序员职业生涯中的职业素养:我的故事与反思 一、自我驱动与专业精神 对于程序员而言,我认为最重要的职业素养是自我驱动与专业精神。在不断变化的技术环境中,只有具备自我驱动的员工,才能持续地学习、适应并应对挑战。 在我的职业生涯中,我曾经遇到过一个案例。我所在的项目组新加入了一位程序员,他并没有直接接受过公司的培训,而是通过自学掌握了编程技能。在项目开发过程中,他始终保持对新技术的好奇心