《编程之道》小赵译版Word文档下载推荐.docx
- 文档编号:22350931
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:21
- 大小:31.89KB
《编程之道》小赵译版Word文档下载推荐.docx
《《编程之道》小赵译版Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《《编程之道》小赵译版Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。
1.2
TheTaogavebirthtomachinelanguage.Machinelanguagegavebirthtotheassembler.
道生机器语言,机器语言生汇编嚣。
Theassemblergavebirthtothecompiler.Nowtherearetenthousandlanguages.
汇编器生编译器,最后产生上万种高级语言。
Eachlanguagehasitspurpose,howeverhumble.EachlanguageexpressestheYinandYangofsoftware.EachlanguagehasitsplacewithintheTao.
不论多么的微不足道,每种语言都有它自己的目的,每种语言都表达了软件的阴阳两极。
每种语言都各得其道。
ButdonotprograminCOBOLifyoucanavoidit.
但是尽量不要用COBOL语言。
1.3
InthebeginningwastheTao.TheTaogavebirthtoSpaceandTime.Therefore,SpaceandTimearetheYinandYangofprogramming.
道之初,带来了空间和时间,所以,空间和时间是编程的阴阳两极。
ProgrammersthatdonotcomprehendtheTaoarealwaysrunningoutoftimeandspacefortheirprograms.ProgrammersthatcomprehendtheTaoalwayshaveenoughtimeandspacetoaccomplishtheirgoals.
不懂编程之道的程序员常常把空间和时间消耗殆尽,得道的程序员则总是有足够的空间和时间去完成编程任务。
Howcoulditbeotherwise?
否则会是什么样呢?
1.4
ThewiseprogrammeristoldabouttheTaoandfollowsit.TheaverageprogrammeristoldabouttheTaoandsearchesforit.ThefoolishprogrammeristoldabouttheTaoandlaughsatit.
上士闻道,从而行之。
中士闻道,谨而寻之。
下士闻道,大笑之。
Ifitwerenotforlaughter,therewouldbenoTao.
大笑不足为道。
Thehighestsoundsarethehardesttohear.Goingforwardisawaytoretreat.Greatertalentshowsitselflateinlife.Evenaperfectprogramstillhasbugs.
希音不闻,进即是退,大嚣晚成。
任何程序都有漏洞。
TheAncientMasters
BookTwo
Afterthreedayswithoutprogramming,lifebecomesmeaningless."
三日不编程,食肉无味。
2.1
Theprogrammersofoldweremysteriousandprofound.Wecannotfathomtheirthoughts,soallwedoisdescribetheirappearance.
远古时代的编程大师们高深莫测,我们不能揣测他们的所思所想,只能描述外表所见。
Aware,likeafoxcrossingthewater.Alert,likeageneralonthebattlefield.Kind,likeahostessgreetingherguests.Simple,likeuncarvedblocksofwood.Opaque,likeblackpoolsindarkenedcaves.
他达明,如狐狸过水;
机警,如战场上的将军;
和善,如主妇款待客人;
简单,呆若木鸡;
混沌,如深渊之水。
Whocantellthesecretsoftheirheartsandminds?
谁能道尽他们的所有?
TheanswerexistsonlyintheTao.
答案仅存于道。
2.2
GrandMasterTuringoncedreamedthathewasamachine.Whenheawokeheexclaimed:
超级大师图灵曾梦见自己是一台机器,醒后他这样回忆:
Idon'
tknowwhetherIamTuringdreamingthatIamamachine,oramachinedreamingthatIamTuring!
“我不知道是图灵梦见自己变成机器还是机器梦见自己变成图灵。
2.3
Aprogrammerfromaverylargecomputercompanywenttoasoftwareconferenceandthenreturnedtoreporttohismanager,saying:
"
Whatsortofprogrammersworkforothercompanies?
Theybehavedbadlyandwereunconcernedwithappearances.Theirhairwaslongandunkemptandtheirclotheswerewrinkledandold.Theycrashedouthospitalitysuitesandtheymaderudenoisesduringmypresentation."
一个大公司的程序员参加一个软件会议后向他的主管汇报:
“那些别的公司的程序员都是些什么样的人呀?
他们举止不雅,不修边幅,头发蓬乱,衣服破旧,根本不热情好客,还在我说话的时候乱嚷嚷。
Themanagersaid:
Ishouldhaveneversentyoutotheconference.Thoseprogrammerslivebeyondthephysicalworld.Theyconsiderlifeabsurd,anaccidentalcoincidence.Theycomeandgowithoutknowinglimitations.Withoutacare,theyliveonlyfortheirprograms.Whyshouldtheybotherwithsocialconventions?
他的主管说:
“我不应该让你参加这次会议,这些程序员生活在现实世界之外。
他们认为生活是可笑的,一场意外的偶然而已。
他们来去自由,无所牵挂,他们只为他们的程序生活。
为什么要用世俗的烦扰去扰乱他们呢?
TheyarealivewithintheTao."
“他们生活在道中”。
2.4
AnoviceaskedtheMaster:
Hereisaprogrammerthatneverdesigns,documents,ortestshisprograms.Yetallwhoknowhimconsiderhimoneofthebestprogrammersintheworld.Whyisthis?
一个初学者问主管经理:
“有一个程序员,他从来不预先设计,也不写文档,甚至不测试他的程序,但是知道他的人都认为他是世界上最伟大的程序员,为什么呢?
TheMasterreplies:
ThatprogrammerhasmasteredtheTao.Hehasgonebeyondtheneedfordesign;
hedoesnotbecomeangrywhenthesystemcrashes,butacceptstheuniversewithoutconcern.Hehasgonebeyondtheneedfordocumentation;
henolongercaresifanyoneelseseeshiscode.Hehasgonebeyondtheneedfortesting;
eachofhisprogramsareperfectwithinthemselves,sereneandelegant,theirpurposeself-evident.Truly,hehasenteredthemysteryoftheTao."
经理说:
“那个程序员掌握了道。
他不需要预先进行设计;
系统崩溃时他也从不烦燥,只是接受发生的一切而不管发生的事是好是坏。
他不需要写文档,他从不顾及有没有人看他写的代码。
他也不需要进行测试;
他写的每个程序都有一个完美的自我,平静而优雅,它们的目的不言自明。
他已经真正掌握了道的精髓。
Design
BookThree
Whenprogramisbeingtested,itistoolatetomakedesignchanges."
“程序被测试时再去改变它的设计已经太晚了。
3.1
Thereoncewasamanwhowenttoacomputertradeshow.Eachdayasheentered,themantoldtheguardatthedoor:
曾经有一个人参加计算机展览,每天他进门时都对门卫说:
Iamagreatthief,renownedformyfeatsofshoplifting.Beforewarned,forthistradeshowshallnotescapeunplundered."
“先警告你,我是偷盗高手,我入室偷盗的本领闻名遐迩。
这次展览会也再劫难逃。
Thisspeechdisturbedtheguardgreatly,becausethereweremillionsofdollarsofcomputerequipmentinside,sohewatchedthemancarefully.Butthemanmerelywanderedfromboothtobooth,hummingquietlytohimself.
警卫因此大动干戈,因为里面有价值百万的计算机设备,所以他牢牢盯紧了这个人,但是这个人只是从一个摊位逛到另一个摊位,一边平静地喃喃自语。
Whenthemanleft,theguardtookhimasideandsearchedhisclothes,butnothingwastobefound.
当这个人离开时,警卫搜了他的身,但是什么也没有发现。
Onthenextdayofthetradeshow,themanreturnedandchidedtheguardsaying:
Iescapedwithavastbootyyesterday,buttodaywillbeevenbetter."
Sotheguardwatchedhimevermoreclosely,buttonoavail.
展览会的第二天,这个人又对警卫说:
“昨天我满载而归,但是今天我会收获更大。
”所以警卫更加小心地盯紧他,但是这样做完全于事无补。
Onthefinaldayofthetradeshow,theguardcouldrestrainhiscuriositynolonger."
SirThief,"
hesaid,"
Iamsoperplexed,Icannotliveinpeace.Pleaseenlightenme.Whatisitthatyouarestealing?
展览会的最后一天,警卫再也不能忍住他的好奇心了。
“小偷先生,”他说,“你说我惊慌不安,请告诉我,你到底偷了什么?
”。
Themansmiled."
Iamstealingideas,"
hesaid.
这个人笑笑说:
“我在偷想法。
3.2
Thereoncewasamasterprogrammerwhowroteunstructuredprograms.Anoviceprogrammer,seekingtoimitatehim,alsobegantowriteunstructuredprograms.Whenthenoviceaskedthemastertoevaluatehisprogress,themastercriticizedhimforwritingunstructuredprograms,saying:
Whatisappropriateforthemasterisnotappropriateforthenovice.YoumustunderstandtheTaobeforetranscendingstructure."
有一位编程大师,他写非结构化的程序,一位初学者刻意模仿他,也写非结构化的程序。
当他让大师看他的进步时,大师批评了他的非结构化程序:
“对一位编程大师合适的东西未必对一个初学者同样合适,在超越结构化之前,你必须理解编程之道。
3.3
TherewasonceaprogrammerwhowasattachedtothecourtofthewarlordofWu.Thewarlordaskedtheprogrammer:
Whichiseasiertodesign:
anaccountingpackageoranoperatingsystem?
###有人问一位程序员,“一个财务软件和一个操作系统哪个更容易设计?
Anoperatingsystem,"
repliedtheprogrammer.
“是操作系统”,这位程序员回答说。
Thewarlordutteredanexclamationofdisbelief."
Surelyanaccountingpackageistrivialnexttothecomplexityofanoperatingsystem,"
此人大惑不解。
他说:
“显然一个财务软件比起操作系统来说其复杂性是微不足道的”。
Notso,"
saidtheprogrammer,"
whendesigninganaccountingpackage,theprogrammeroperatesasamediatorbetweenpeoplehavingdifferentideas:
howitmustoperate,howitsreportsmustappear,andhowitmustconformtothetaxlaws.Bycontrast,anoperatingsystemisnotlimitedmyoutsideappearances.Whendesigninganoperatingsystem,theprogrammerseeksthesimplestharmonybetweenmachineandideas.Thisiswhyanoperatingsystemiseasiertodesign."
程序员说:
“不,设计财务软件时,一个程序员必须成为持不同意见的用户与计算机的一个中介,他必须了解用户的操作习惯,报表要是什么形式,如何遵循税法。
相反,一个操作系统完全与这些外部的东西无关。
设计操作系统,程序员只需要达到自己的设想与机器之间的简单的和谐。
这就是为什么操作系统反而比财务软件更容易设计。
ThewarlordofWunoddedandsmiled."
Thatisallgoodandwell,butwhichiseasiertodebug?
这些人笑着说。
“不错,但是哪一个更容易调试呢?
Theprogrammermadenoreply.
程序员没有回答。
3.4
Amanagerwenttothemasterprogrammerandshowedhimtherequirementsdocumentforanewapplication.Themanageraskedthemaster:
HowlongwillittaketodesignthissystemifIassignfiveprogrammerstoit?
一个项目经理带给编程大师一个项目的需求,然后问大师:
“如果我给你5个程序员,要多少时间设计这个项目?
Itwilltakeoneyear,"
saidthemasterpromptly.
“一年”,大师说。
Butweneedthissystemimmediatelyorevensooner!
HowlongwillittakeitIassigntenprogrammerstoit?
“但是我们等不了那么长时间,越快越好,如果10程序员呢?
Themasterprogrammerfrowned."
Inthatcase,itwilltaketwoyears."
大师皱了一下眉头说:
“那就要花2年”。
AndwhatifIassignahundredprogrammerstoit?
“那,100年程序员呢?
Themasterprogrammershrugged."
Thenthedesignwillneverbecompleted,"
大师耸了耸肩说:
“那这个项目就永远完不成了。
Coding
BookFour
Awell-writtenprogramisitsownheaven;
apoorly-writtenprogramisitsownhell."
“写的好的程序是它自己的天堂,写的不好的程序是它自己的地狱”
4.1
Aprogramshouldbelightandagile,itssubroutinesconnectedlikeastringsofpearls.Thespiritandintentoftheprogramshouldberetainedthroughout.Thereshouldbeneithertoolittlenortoomuch,neitherneedlessloopsnoruselessvariables,neitherlackofstructurenoroverwhelmingrigidity.
一个程序应该是轻灵自由的,它的子过程就象串在一根线上的珍珠。
自始至终,目标明确。
增之一字节则太长,减之一字节则太短。
既没有不必要的循环也没有没有被引用的变量,既不缺少结构化也不至于僵硬呆
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程之道 编程 小赵译版