声明:
本文内容来自《编程之道》一书, 小赵只负责录入. 所有版权归该书的出版社。本文由原来的三册书组成:《编程之道》 《编程之禅》《计算机时代的寓言》
目录
前言
序
引言
第一篇 木
第二篇 火
第三篇 土
第四篇 金
第五篇 水
第二篇 火
大师:行者
媒体:民间故事
硬件:显示器
方向:南
软件:格式化程序
感觉:视觉
阶段:设计
动物:凤凰
系统:CP-6
火
编程大师行者收集了各种各样有关开发刺目的民间故事。最近的计算机考古研究显示,下面的这些民间故事是以历史事实为基础的。虽然一部分夸张的成分可能会无意中被添加进去,但其历史真相的核心内容依然存在。
一
当一位项目经理为他的软件项目配备人员时,他会在一天内雇佣三百名程序员。一位获得计算机科学博士学位的学者前来求职,他被给予了一个薪水很高的职位。
一天,那位项目经理被解职了。“我认为,每个人都应清楚自己的职责和履行自己的职责。”新来的项目经理在检阅他的程序员队伍时如此说道。听到这话,那位学者悄悄地溜走了。
二
两位程序员正在急诊有关用户界面的问题。
“在‘使用起来简单轻松’方面,许多意义重大的革新正在进行当中,”第一位程序员说,“不久以后,人们在使用电脑之前将不再需要阅读那些冗长乏味的用户手册了。程序都将是不言自明的。”
第二位程序员想了一会儿,然后说:“上个星期我准备劈些木柴烧火,但我的斧子又旧又钝。于是,我去五金店买了把新的。”
“这挺有趣儿,”第一位程序员说,“但这和用户界面有什么关系呢?”
“这把新斧子附带有一本长达八页的使用说明书。”他回答说。
三
一次有一位第三者问一名工程师、一名数学家、一名物理和一名程序员:“一只盒子有几个面?”
工程师首先回答。“一只盒子有四个面。”他说。
“此话怎讲?”智者问。
“四个垂直的面就是我所说的面,它们被一顶一底连接在一起。”工程师回答。
“太荒唐了,”数学家评论道,“一只盒子有六个面。”
“此话怎讲?”智者问。
“盒子是一个立方体,因此有六个面。”,数学家回答。
“不对,”物理学家说,“一只盒子有十二个面。”
“此话怎讲?”智者问。
“严格说来,有六个外部的面和六个内部的面。”物理学家回答。
智者看着一声未吭的程序员。“你的意见呢?”智者问。
“一只盒子只有两个面。”程序员说。
听了这话,工程师、数学家和物理学家大笑起来。
“此话怎讲--一只盒子只有两个面?”笑声停住后智者问道。
“这是基于个人经验,”程序员说,“那‘里面’是安置电路板的地方,而‘外面’是放显示器的地方。”
“正是如此。”智者说。
四
一位新上任的董事正在召开与程序员们的见面会。
在宴会进行当中,一位程序员背诵起了如下的演说--“我们一直都在期盼着你的到来,您的前任根本没有您这种高贵的能力。现在你来了,我们会变得真正具有生产力。”
这位新董事被奉承的喜形于色,“这演说词是你自己写的吗?”他问。
“这是我们开发中心的惯例,”那位程序员说,“无论哪位新董事到任的时侯,我们都要发表那段演说,这是我所知道的唯一的一段演说词。”
五
一天,开发中心的一位程序员发现了一套可以生成迷宫图案的算法系统。他非常勤奋地对这套算法进行了修改,这样可以让它在长长的打印纸带上生成一个不间断的迷宫。
不久,他制做了一个有几百万条分贫的迷宫,四十英尺长,七英尺宽。他把打印纸带挂在了程序员办公室门口长长的过道上,不一会儿,所有编程人员都挤在了那个迷宫前,试图解决这个庞大的难题。
开发中心的主任恰巧从旁边经过,他惊愕地盯着这场景,面色阴沉。但当他走进编程大师的办公室想寻求帮助时,大师早已不在那儿了。
六
五名初学者哭着走进了大师的办公室,“呜,呜!听说我们的项目可能要被取消了。”
大师说:“所有事情照常继续,直到它们停止。”
听了这话,那些初学者便返回各自的工作中去了。
七
一天,开发中心接到消息,一位新主任将被任命来负责这里,他是位军机大臣,对电脑知之甚少。
程序员们听到这条消息都非常吃惊,纷纷停止了编程,把许多时间都浪费在揣摩那即将到来的不幸的日子。
看到这些,一位大师决定必须得做点什么。于是,他借来了一套装扮大猩猩的服装。
不久,那位大臣就职了,他把所有的经理召集到一间小会议室,随行而来的是几位总部的公司行政官,据说,他们是来使开发中心“平稳过渡”的。
突然,那位大师穿着装扮大猩猩的服装破门而入。他蹦上会议桌,把文件踢得到处都是,并对着那些行政官咆哮嗥叫,行政官们坐在那里只剩下目瞪口呆了。然后,他唰地一下离开了会议室,正如他来时一样。
听到这件事,程序员们便都回到各自的工作岗位上去了。
<作者按>
作者曾经和几个人谈过,他们都亲眼目睹过此传说中描绘的事件。作者也曾听说,一年之后,类似的挑衅行为在IBM的某部门中发生了。这第二起事件与第一起的不同之处在于,程序员穿了一套运动服,站在门口大声地咳嗽。
八
一组程序员正在向董事长汇报。“今年最大的成果是什么?”董事长问。
那些程序员在一起商量了一会儿,然后回答说:“我们今年解决的bug(程序错误--译注)比去年多百分之五十。”
董事长疑惑地看着他们,很显然,他不知道BUG是什么意思。他小声地与身边的大臣嘀咕一阵后,转过身来对着程序员,气得满脸通红。“如此差劲的质量控制,你们应该问心有愧。明年不允许有‘BUG’!他命令道。
可以肯定,第二年那些程序员向董事长汇报的时侯,有关BUG只字未提。
九
一位公司行政官来参观开发中心,他在长长地走廊里走着,就像一位检阅部队的将军一样。他不时地偏上来和他遇到的人谈谈话。最后,他走进了一位程序员的办公室,这位程序员正在聚精会神地为操作系统查错。
行政官环顾了一下办公室,注意到有尊猪的雕像摆在程序员的终端上。”我常常被程序员收集的那些古玩和纪念品所深深吸引,”行政官说,“在它们背后似乎有一些非常有趣的故事。比如说吧,那里的那个雕像是什么意思?”他指着那尊雕像。
程序员从终端前抬起头来,眨眨眼睛,然后盯着那尊雕像,就好像是头一回看到它似的。“这是头猪呀!”他说。