⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 taoofpg.htm

📁 编程之道 为你解释编程的真谛!!!
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=GB2312">
<META NAME="WinPerTurn" CONTENT="Produced by Doc-2-Doc product, http://www.WinPerTurn.com">
<html>
<head>
<title>程序设计之道</title>
<meta http-equiv=Content-Type content="text/html; charset=GB2312">
</head>

<body bgcolor="#FDFFFF" text="#000000" link="#339900" vlink="#CC0066" alink="#CECF94">
<p align="center"><font face="细明体"><b><font size="5"><a name="top"></a>程序设计之道</font></b></font></p>
<a name="content"></a>
<p align="center">◎目录</p>
<table>
<tr><td><a href="#Frontispiece">卷首插画</a></td></tr>
<tr><td><a href="#Preface">自序</a></td></tr>
<tr><td><a href="#book01">卷一 静寂虚无</a></td></tr>
<tr><td><a href="#book02">卷二 古之大师</a></td></tr>
<tr><td><a href="#book03">卷三 构思与设计</a></td></tr>
<tr><td><a href="#book04">卷四 编撰程式</a></td></tr>
<tr><td><a href="#book05">卷五 维护</a></td></tr>
<tr><td><a href="#book06">卷六 管理</a></td></tr>
<tr><td><a href="#book07">卷七 公司智慧</a></td></tr>
<tr><td><a href="#book08">卷八 硬软体</a></td></tr>
<tr><td><a href="#book09">卷九 结语</a></td></tr>
<tr><td><a href="#AboutAuthor">关于作者</a></td></tr>
<tr><td><a href="#AboutBook">关于本书</a></td></tr>
</table>
<hr>

<font size="4">
<pre>
<a name="Frontispiece"></a>
<b>卷首插画</b>
  卷首的古代插画代表电脑程式界九个不朽。传统莲枝代表专案管理,仙鹤则是组合语
言。豺狼如同走狗像极了工作控制语言,磁片表示是档案管理系统。飘浮在空中的沉思老
者,是广大无垠的暂存器。在老者上方飞舞的蝙蝠,表示物质世界对人诱惑不定。老者下
方是混沌世界的老龙,由祂携来神秘难言的道。

<p align="right"><b><font size="2" color="#999900">| <a href="#content">回目录</a> |</font></b></p>

<a name="Preface"></a>
<b>序</b>
<p align="right"><b><font size="2" color="#999900">| <a href="#content">回目录</a> |</font></b></p>
  电脑考古学是个崭新的领域。即使像我这样的业余者,偶然都有许多饶有兴味的新发
现。几年前,我在一堆散乱的老式打孔卡片中找东西,发现一组彷佛以点阵图形出现的密
码。这些图形如同三明治般,夹在成千上万张以RPG程式写好的卡片里。如果不是这些手
写的注解,我根本不会再看它们一眼。注解上说:「处理完毕就销毁。」
  这句话激发我的好奇心,决定一探这些神秘卡片背后隐藏的内涵。
  经过加密、解码的繁复过程,这差不多耗去几百个CPU的运算小时。依据第一张图
形的大致外貌,解密结果是本书卷一的开始,然而这只是整个解密计画中最简单的部份。
手稿是用陌生的文字所写,这也增加我转换时的困难。持续努力着,对我而言,整个轮廓
也愈来愈清楚。虽然我面对的并不是一些简单易懂的图形(我是这么深信不移),若非如
此,这传说中的「程序设计之道」是不会现身的。
  实在很难用笔墨来形容,当我发现这个几近神迹的真相。我彷佛真的听到「程序设计
之道」的声音。我和我认识的人从来没看过这份手稿,也不知道这份手稿是谁的。但我曾
多次听闻,「程序设计之道」深深、隐秘地影响电脑的发展。与传说相符的是,「程序设
计之道」对程式设计这门艺术有机的影响。不过,这个影响也遭致学院派、企业团体激烈
的反抗,他们把「程序设计之道」的影响视为重建秩序的重大威胁。「程序设计之道」的
传播方式只好改弦易辙,对程式师加以严格筛选方私下传授。
  最后,这个人称『整合派』的程式设计哲学,终成为有权有势的一方,不再需要透过
暗中传授。但这种形同宗教迫害(其时间点与大罢工时期相同)也导致这个派别的毁灭,
尤其是那些只在派系成员中秘密传授的教本。
  传说中的事情是无法验证的,因此对这些带有色彩的流言应该打些折扣不能尽信。这
些传说的领域,有兴趣的人类考古学者应该多过于电脑考古学者。然而现在这份手稿已完
整地呈现在世人面前,它可以用来区分上述传言究竟是事实,还是传言。

  这便是「程序设计之道」的由来,虽然它被时光迷雾掩盖踪迹。但从内部种种迹象来
推测,我们知道确切的年代应该在积体电路发明之后。但更明确的时间点,可能还有待专
家学者就现在所找到的经典去考证。
  「程序设计之道」的作者身份至今仍是个谜,一般都认为是属于嬉皮第六世代的庸友
希(音译),其他学者(我也不知其名)庸友希只是将这些故事编辑成册,作者的身份还
是无法确定。但大家都同意,书的内容极为深奥难明。而作者身份的厘清,恐怕只是最普
通的争议。
  或许在「程序设计之道」出版后,这些争论将能厘清。若真是如此,那我对这份手稿
所做的努力总算没有白费。但我必须承认,要送出这本经典的英译时,我确实有点犹豫。
虽然已做了完整的定义与解释,我总担心译文会无法诠释原着深厚的内涵,而失去令人深
思的韵味。基于我个人的信仰,这类的问题偶而会出现在我脑海里。在此别郑重申明我对
原着表达手法的尊重,但我并不是一个基本教义派,坚持一定要按照内文逐字翻译。特别
是,我发现原着在行文之间对管理阶层及组织无情的指责,后人如我者或能理解,那是当
时的政治风气使然。
  不管未来的纷纷扰扰,我现在将这份「程序设计之道」的拙劣译文呈现在读者面前。
如果有人透过这份自以为是的译作,能瞭解到本存之道的意旨为何,我想我会感到无比快
意的。


杰弗瑞.詹姆士
1986年于洛杉矶
<a name="book01"></a>
<b>卷一 静寂虚无</b>
    程式名家如是说:「学会在程式的迷魂阵中找到错误的程式码,就是你下山行道的时
候了。」

卷一之一
    静寂虚无中有奥秘,不静不动,乃程式之源,无以名之,故曰:程序设计之道。如道
至大,则作业系统至大;如作业系统至大,编译程式亦然;如编译程式至大,应用程式亦
如此。是以用者大悦,世之和谐存焉。
    程序设计之道无远弗届,御晨风而返。

卷一之二
    道生机器码,机器码生组译器,组译器生编译器,则万余电脑语言相偕而生。
    电脑语言皆有其用途,然不外乎表达软体之阴阳两仪。道在其中,各得其所;
    若能避免,少用COBOL。

卷一之三
    太初有道,道生时空,时空即为程序设计之阴阳两仪。
    未能悟道之编程者,将耗尽程式的时空资料。悟道之编程者恒有充分时空达致要求。
    除此之外,还有什么?

卷一之四
    上智程式师闻道,勤而行之;中智程式师闻道,若存若亡;下智程式师闻道,大笑之
。不笑不足以为道。
  大音希声,进道若退,大器晚成。
    纵使完美的程式还是有虫。
    道藏于人可理解范围之外。
<p align="right"><b><font size="2" color="#999900">| <a href="#content">回目录</a> |</font></b></p>

<a name="book02"></a>
<b>卷二  古之大师</b>
    程式名家如是说:「三日不写程式则人生无甚趣味。」

卷二之一
    古之程式师神秘而渊博,其思维难以度量,惟勉可述其表。
    世故,如狐狸涉水;
    机警,似沙场老将;
    亲切,像女侍待客;
    简明,如未雕之木;
    晦涩,若暗洞深潭。
    谁能指出心灵之秘?
    答案仅存道中。

卷二之二
    大师涂林曾经作梦变成一部机器,醒后大叫:「不知是我作梦成了机器,还是一部
机器作梦变成了我!」

译注:涂林(Turing)为计算机理论创始者,1912年生于伦敦。全名是艾伦.麦昔森
   .涂林(Alan Mathison Turing),他被誉为「计算机科学之父」。当电子计算机
   尚未问世,他已将计算机的原理与能力极限,界定清楚。他所提出的计算机理论
   ,深深地影响计算机科学的发展。为了纪念他对计算机科学的贡献,以其理论所
   发展出来的计算机,则称为涂林机(Turing Machine)。


卷二之三
    某大电脑公司的程式师结束软体会议后,向他的经理报告:「你知道其他电脑公司有
那些程式师吗?这帮家伙行为乖张,不重外表,边幅不修,衣服既皱且旧,他们破坏了气
氛,而且在我简报时无礼地制造噪音。」
    经理回答说:「我不该派你参加这个会议的。这些程式师超然物外,认为生命是荒诞
不经的。往来无世俗之限,不具烦忧,只为程式而活。为什么他们要受社会积习的侵扰?

    他们全然活在道中。

卷二之四
    一个初学者向大师请教:「有个程式师编程时不打草稿,也不测试程式,遑论留下文
件供人参考。但所有了解他的人都认为他是世间最好的程式师,这是为什么?」

    大师说:「这个程式师已了然悟道。他超越设计之需,所以系统毁损不生气,且无条
件地接受这个世界。超越文件之需,是因不计较是否有人要看他的程式。超越测试之需,
是因他的每个程式皆已圆满无缺、清澈明亮、精致、目的自明。真的,他已进入道中。」

<p align="right"><b><font size="2" color="#999900">| <a href="#content">回目录</a> |</font></b></p>
<a name="book03"></a>
<b>卷三  构思与设计</b>
    程式名家如是说:「到测试程式阶段,才发现要修改原设计方案,那就太迟了。」
    
卷三之一
    曾有某人在参观电脑商展时,每日进门前都向警卫说:「先告诉你,我是个贼,你得
小心我的妙手空空,这次展览绝对是在劫难逃。」
    因为展览会场有价值上百万元的仪器,这段话令警卫非常紧张,只得紧盯着他。不过
这个人仅是轻哼小曲,一个摊位又一个摊位地闲逛。
    当他要离开会场的时候,警卫将他带到一旁搜身,却一无所获。
    第二天这个人又出现了,以略带责备的口吻对警卫说:「昨天收获不错,相信今天会
更好。你得小心点。」警卫再度提高警觉,更加注意他,但仍未发现他到底偷了什么。
    展览结束的最后一天,警卫再难抑制好奇,问他:「贼大师,近日因您行径搞得我寝
食难安,是否可以告诉我,您到底偷走什么?」
    这个人笑着说:「我偷的是概念。」

卷三之二
    从前有位程式名家,专写非结构化程式。一个生手试着模仿他,也开始写非结构化程
式。当生手要求这位名家评量他的程式,名家却批评他写非结构化程式的错误。
    「对大师适用的未必适用于生手,在超越结构之前,你必须悟道。」

卷三之三
  曾有一位吴姓官长问他手下的一位程式师,「设计会计系统与作业系统,那种比较简
单?」
    程式师说:「作业系统。」
    「什么!」长官发出难以置信的惊呼!
    「显然,会计系统不如作业系统复杂。」长官接续着说。
    「并非如此!」程式师回答。
    「设计会计系统时,程式师是各拥不同想法的使用者其间的桥梁。其需求不外是,应
用系统如何操作才符合习惯?报表展现的型式?合法合税与否…
    「反过头来,作业系统不受外界表象所限。设计作业系统,程式师只要寻求单纯、简
单的介面,令人与机器达致和谐即可。这就是作业系统容易设计的理由。」
    长官微笑点头。「说来也对,但那个容易除错呢?」
    程式师静默不语。

卷三之四
    经理拿着新应用系统的需求规格去找一位程式大师。「如果我给你五位程式师,你需
要多久才能完成这个系统?」
    大师很快回答:「一年。」
    「但这个系统很快就要上线。如果我再派十个程式师给你,你大概多久能完成?」经
理又说。
    大师皱眉说:「在这样的情形下,需时两年。」
    「那我给你一百个程式师呢?」
    大师耸耸肩:「那可能永远结不了案!」

<p align="right"><b><font size="2" color="#999900">| <a href="#content">回目录</a> |</font></b></p>

<a name="book04"></a>
<b>卷四  编撰程式</b>
    程式名家如是说:「好程式本身就是天堂,烂程式自身就是地狱。」
    
卷四之一
    程式要轻巧灵活。副程式之间的联结如同珍珠相串。原始设计的精神与意念应遍及程
式,增一条指令太多,减一条指令太少。没有不必要的回圈,也没有不用的变数。既不缺
乏结构,也不受结构所限而僵化。
    程式应依据「最少惊愕定律」而为。这是什么定律?简单得要命!当使用者对操作系
统之后,出现惊讶的反应愈少愈好。

  不论多复杂的程式,只要用同一规律运作,它就是一个整体。所以,可以直接透过内
部逻辑来运作,而不是外在表象。
    如果程式不能满足这些要求,便容易失序而产生混淆,进而令整个程式的结构崩溃。
唯一的补救之道就是:重写!

卷四之二
  生手问大师:「我有个程式,它执行的情况时好时坏;我一向依据程式设计规则写程
式,却常陷入困扰之中,这是什么道理?」

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -