設為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

返回列表 發(fā)新帖
查看: 2291|回復: 4
打印 上一主題 下一主題

[與其它組件] 編程之道——給困惑者的啟示

[復制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2003-9-25 18:12:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
轉(zhuǎn)貼者話:曾經(jīng)無數(shù)次看到有人在談論現(xiàn)在什么才是最好的開發(fā)工作,我學XX語言(工具)是否還有前途,我要多久才會學通這門語言!相信看過此貼之后,你會對編程有一個新的認識!

第一篇靜寂的空宇

  編程大師如是說:

  “當你有本事奪走我手中的這塊水晶石時,就是你出師的時侯了。”

  1.1

  在靜寂的空宇里,一種神奇的物質(zhì)形成并誕生了。它立刻便靜止

了,獨自守侯著,豪無動靜,然而又處于永恒的運動之中。它是所有

程序的源頭,我不知道它的名字,所以我將稱它為編程之道。

  如果此道是完美的,那些操作系統(tǒng)就是完美的,如果操作系統(tǒng)是

完美的,那么編譯程序就是完美的,如果編譯程序是完美的,那么應

用程序就是完美的。用戶滿意之至--和諧便應運而生。

  編程之道流逝遠去,又乘著晨風而歸。

  1.2

  此道產(chǎn)生了機器語言,機器語言又產(chǎn)生了匯編語言,

  匯編語言產(chǎn)生了編譯程序,如今有了上萬種的語言。

  每一種語言都有其各自的卑微用途。每一種語言都表達出軟件的

陰和陽。每一種語言都在此道之中有其一席之地。

  但是,應盡量避免用COBOL 語言編寫程序。

  1.3

  宇宙之初有道,道產(chǎn)生了空間和時間?臻g和時間便是程序設計

之陰陽。

  不能領悟此道的編程者總是耗盡他們所要編寫的程序的時間和空

間;而領悟了此道的編程者卻總有足夠的時間和空間來達到他們的目

標。

  除此之外,難道還有其它的情形嗎?

  1.4

  精明的編程者聽說了此道,并遵循它;平庸的編程者聽說了此道,

并尋覓它;愚蠢的編程者聽說了此道,卻嘲笑它。

  要不是因為有嘲笑,道也就不復存在了。

  最高的聲音最難被聽見。前進也是一種倒退。大器晚成。即使是

一個完美的程序也仍然會有隱患。

  道深藏不露,難于理解。

  第二篇古代的大師

  編程大師如是說:

  “倘若三天不編程,生活將變得毫無意義!

  2.1

  老一輩的程序員是神秘的、深奧的。我們沒法揣摩他們的想法,

我們所能做的只是描述一下他們的表象。

  他們是清醒的,就像一只游過水面的狐貍;他們是警惕的,就像

一位戰(zhàn)場上的將軍;他們是友善的,就像一位招待客人的女主人;他

們是簡單的,就像未經(jīng)刻鑿的木頭;他們還是難以琢磨的,就像黑暗

的洞穴中漆黑的池水。

  誰能說出他們心中的秘密?

  答案只存在于道中。

  2.2

  計算機科學巨擘圖靈曾經(jīng)夢到他是一臺機器。當他醒來時,他驚

嘆道:

  “我不知道--我是夢到了自己是臺機器的圖靈,還是一臺夢到

了自己是圖靈的機器?”

  2.3

  一家大電腦公司的一名程序員參加了一次軟件研討會。他回來后

向經(jīng)理匯報說:“為其它公司工作的那些程序員都是些什么的人啊?

他們行為拙劣,不顧及自己的儀表。他們的頭發(fā)又長又亂,衣服又皺

又舊。他們闖進我們的會客組,還在我演講時發(fā)生粗魯?shù)男[!

  經(jīng)理說:“我本不應該讓你去參加這個會議。那些程序員是生活

在物質(zhì)世界之外的。他們認為生活是荒唐的,一種意外的巧合。他們

來去自如。他們只為他們的程序而活著,無憂無慮地活著。為什么要

用社會習俗來約束他們呢?

  他們活在此道之中!

  2.4

  一個禮堂者問大師:“有位程序員,從不構思、編寫文檔或測試

他的程序,然而所有知道他的人都認為他是世界上最棒的程序員。這

是為什么呢?”

  大師回答說:“那個人掌握了道。他不需要事先進行構思,當系

統(tǒng)崩潰時,他不會因此而悶悶不樂,而是心平氣和地接受整個事實。

他還從編寫程序說明文檔的需要之中超脫了出來,不在意是否有人看

他的編碼。他也不需要進行測試。他的每個程序都完美無缺。寧靜而

優(yōu)雅,程序的用途也顯而易見。

  的的確確,他已經(jīng)進入了道的神奇境界!

  第三篇設計

  編程大師如是說:

  “當程序被測試時,再修改設計方案就太遲了!

  3.1

  曾經(jīng)有個人去參加一次電腦展示會,每天當他進入展館時,都對

門衛(wèi)說:

  “我是個大盜,我偷盜的本領是出了名的。事先警告你,這次展

示會也在劫難逃!

  這番話讓門衛(wèi)坐立不安,因為里面有價值數(shù)百萬美元的電腦設備,

所以他緊緊地盯住這個人。但這個人只是從一個展攤逛到另一個展攤,

嘴里輕輕地哼著小曲。

  當這個人出門時,門衛(wèi)把他拉到一邊,搜查他的衣服,但一無所

獲。

  第二天,這個人又來了,并對著門衛(wèi)囂張地嚷著:“昨天我滿載

而歸,但今天的收獲會更大!庇谑,門衛(wèi)盯他盯得更緊了,但仍一

無所獲。

  在展示會的最后一天,門衛(wèi)再也抑制不住自己的好奇心了!按

盜先生,”門衛(wèi)說,“我被你搞糊涂了,實在想不明白。請告訴我,

你究竟在偷什么?”

  這個人笑了!拔以谕迪敕!彼f。

  3.2

  曾經(jīng)有位編程大師,喜歡編寫非結構化的編程。一位初學者試圖
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱
2#
 樓主| 發(fā)表于 2003-9-25 18:14:00 | 只看該作者
《編程之道》的出版在程序設計業(yè)內(nèi)得到了普遍的接受,出版社邀請我翻譯一些與

之相關的文章,以作為那部著名的經(jīng)典之作的補充。雖然,我申明我的能力難以勝

任,但我最終還是被說服試一試。

本書是許多個月來研究和翻譯的結果,它試圖通過對那些傳統(tǒng)著作的摘錄,來饈一

個復雜的主題。我不懷疑,將會有許多計算機考古專家對我的摘錄標準提出意見。

他們地問,“他為什么不把《UNIX程序員、大象和妓女》的寓言包括進來?”“他

竟敢忽視歷史悠久的故事《圖靈集市歷險記》!”對于這些批評,我只能說,我已

經(jīng)盡了我最大的努力來選擇有代表性的內(nèi)容。

為了確定文中各個章節(jié)的年代,我利用了朝代系統(tǒng)。對于那些不熟悉這套劃分年代

的方法的人來說,可以按四個朝代(或者說“四代”)來劃分。

第一個朝代,即所謂的“黃金時代”,要追溯到由玻璃管構建計算機的日子;許多

現(xiàn)代的學者斷言,這個年代具有神話色彩。第二個朝代開始于晶體管的發(fā)明,而結

束于集成電路的再現(xiàn)。

現(xiàn)代計算機的歷史,開始于第三個朝代,它由主機和控制主機的軍機大臣所統(tǒng)治。

第四個朝代開始于對“集成教”的鎮(zhèn)壓,“集成教”對業(yè)已建立的秩序的反抗,被

狂熱的“藍色兵團”殘酷地摧毀了。具有諷刺意義的是,正是這次鎮(zhèn)壓,導致編程

之禪擴散到了外部世界。

除了組成該書主體的古老的素材以外,我還有幸得到了Babbage博士和Yu博士的幫

助,他們分別為該書撰寫了引言和序。我希望他們對該書的貢獻能夠或多或少地彌

補我作為編者的不才。

Geoffrey James

1988年1月于洛杉磯

目錄

前言



引言

第一篇 木

第二篇 火

第三篇 土

第四篇 金

第五篇 水

根據(jù)古老的“五行學說”,本書由五部分 :

木 火 土 金 水

大師:忍者 行者 隱者 大力神 阿幸

媒體:編年史 民間故事說教 公案 俳句

硬件:鍵盤 顯示器 CPU 打印機 磁盤

方向:東 南 中 西 北

軟件:編輯程序格式化程序調(diào)試程序解釋程序編譯程序

感覺:觸覺 視覺 嗅覺 聽覺 味覺

階段:界面 設計 編碼 排錯 測試

動物:龍 鳳凰 牛 兔 蛇

系統(tǒng):VMS CP-6 OS/VS MS-DOS Unix

這套分類系統(tǒng)包羅萬象,要想在該書的篇幅內(nèi)把它闡釋清楚是不大可能的。然而,

在沉思于這些千變?nèi)f化的對應關系之后,您或許會發(fā)現(xiàn)其中那令人驚異的洞察力。



毫無疑問,古老的編程藝術在西文人的腦海里通常會被誤解,現(xiàn)代的觀點則認為這

是一種工程學、機械論和唯物論。

許多人認為,編程僅是為了達到一個目的而使用的一種手段,而且,一個程序(及

程序員)只能依據(jù)其賺錢的能力來評價。

這些原始的錯覺,來自于對編程的真正意圖的一種很深的誤解。

高超的程序員并非致力于表面的成功,而是在人機之間尋找一種神秘的存在。

根據(jù)禪的解釋,在硬件、軟件、固件、界面和理解之間沒有分界--相反,所有這

些都結合進了一個和諧的整體。

只有當程序員最終學會了將那種“自我自我的存在”的虛假感覺拋在一邊,此種境

界才可能達到,而那種“自我的存在”的感覺往往伴隨在我們大多數(shù)人的生活之中



這是計算機所帶來的--禪師程序員的行為方式。

有人說,掌握了禪機的程序員也就掌握了生命。這樣的程序員是以一種永不疲倦的

童稚的歡樂來看待這個世界的。

覺悟了的程序員,走在大街上也能感覺到兩旁房子和大樓里面的電腦。

覺悟了的程序員,能夠感覺和聽到調(diào)制過的數(shù)據(jù)穿過電腦線時那種電流脈沖的持續(xù)

不斷的嗡嗡聲。

覺悟了的程序員已經(jīng)與宇宙合為一體。

我以前的學生Geoffrey能夠完成這樣一個工作,將失落的編程之禪的經(jīng)典著作再現(xiàn)

于世,作為一名教師,我感到由衷的滿足。

真心希望,這本書能夠重新確立禪在完善的程序員教育中的重要地位。

C.P.Yu博士

蓮花大學超越機器學院

西藏拉薩

引言

當James先生要求我給他的這本書寫一篇引言的時侯,除了講述一下關于我自己在

程序維護這個神秘的領域中的個人經(jīng)歷,我實在想不到更好的辦法了。程序的維護

是程序設計藝術中很少被人理解的領域。

有的讀者肯定會堅持說,在禪的深奧教義和程序維護的卑微技藝之間,并沒有什么

共同點。但正如一位大師所言:“方法和途徑(也就是道)存在于所有的程序之中

,甚至在電子游戲里!币虼耍L期被的程序維護藝術必定有其禪的方面,這點是

確鑿無疑的,雖然那對于未經(jīng)訓練的頭腦來說或許不會立刻顯現(xiàn)出來。

我的故事開始于我從大學計算機科學專業(yè)畢業(yè)后的幾個星期。我大學畢業(yè)后的目標

是為一家研究和開發(fā)機構工作,最好是編譯程序或操作系統(tǒng)設計的部門。我最后終

于找到一家愿意盲雇傭我的機構,但條件是我必須在一段時間內(nèi),通過完成程序維

護的工作來“學會這套系統(tǒng)”。

我當然會對這個建議產(chǎn)生抵觸心理。我花了五年的大學時間,竟然是為了浪費時間

來解決其他一些程序員的錯誤!然而,因為他們曾經(jīng)答應日后讓我干感興趣的工作

,于是我便接受了,并在心中提醒自
3#
 樓主| 發(fā)表于 2003-9-25 18:14:00 | 只看該作者
第二篇 火

大師:行者

媒體:民間故事

硬件:顯示器

方向:南

軟件:格式化程序

感覺:視覺

階段:設計

動物:鳳凰

系統(tǒng):CP-6



編程大師行者收集了各種各樣有關開發(fā)刺目的民間故事。最近的計算機考古研究顯

示,下面的這些民間故事是以歷史事實為基礎的。雖然一部分夸張的成分可能會無

意中被添加進去,但其歷史真相的核心內(nèi)容依然存在。



當一位項目經(jīng)理為他的軟件項目配備人員時,他會在一天內(nèi)雇傭三百名程序員。一

位獲得計算機科學博士學位的學者前來求職,他被給予了一個薪水很高的職位。

一天,那位項目經(jīng)理被解職了!拔艺J為,每個人都應清楚自己的職責和履行自己

的職責。”新來的項目經(jīng)理在檢閱他的程序員隊伍時如此說道。聽到這話,那位學

者悄悄地溜走了。



兩位程序員正在急診有關用戶界面的問題。

“在‘使用起來簡單輕松’方面,許多意義重大的革新正在進行當中,”第一位程

序員說,“不久以后,人們在使用電腦之前將不再需要閱讀那些冗長乏味的用戶手

冊了。程序都將是不言自明的。”

第二位程序員想了一會兒,然后說:“上個星期我準備劈些木柴燒火,但我的斧子

又舊又鈍。于是,我去五金店買了把新的。”

“這挺有趣兒,”第一位程序員說,“但這和用戶界面有什么關系呢?”

“這把新斧子附帶有一本長達八頁的使用說明書!彼卮鹫f。



一次有一位第三者問一名工程師、一名數(shù)學家、一名物理和一名程序員:“一只盒

子有幾個面?”

工程師首先回答!耙恢缓凶佑兴膫面。”他說。

“此話怎講?”智者問。

“四個垂直的面就是我所說的面,它們被一頂一底連接在一起!惫こ處熁卮。

“太荒唐了,”數(shù)學家評論道,“一只盒子有六個面。”

“此話怎講?”智者問。

“盒子是一個立方體,因此有六個面!,數(shù)學家回答。

“不對,”物理學家說,“一只盒子有十二個面!

“此話怎講?”智者問。

“嚴格說來,有六個外部的面和六個內(nèi)部的面!蔽锢韺W家回答。

智者看著一聲未吭的程序員。“你的意見呢?”智者問。

“一只盒子只有兩個面!背绦騿T說。

聽了這話,工程師、數(shù)學家和物理學家大笑起來。

“此話怎講--一只盒子只有兩個面?”笑聲停住后智者問道。

“這是基于個人經(jīng)驗,”程序員說,“那‘里面’是安置電路板的地方,而‘外面

’是放顯示器的地方。”

“正是如此!敝钦哒f。



一位新上任的董事正在召開與程序員們的見面會。

在宴會進行當中,一位程序員背誦起了如下的演說--“我們一直都在期盼著你的

到來,您的前任根本沒有您這種高貴的能力,F(xiàn)在你來了,我們會變得真正具有生

產(chǎn)力!

這位新董事被奉承的喜形于色,“這演說詞是你自己寫的嗎?”他問。

“這是我們開發(fā)中心的慣例,”那位程序員說,“無論哪位新董事到任的時侯,我

們都要發(fā)表那段演說,這是我所知道的唯一的一段演說詞!



一天,開發(fā)中心的一位程序員發(fā)現(xiàn)了一套可以生成迷宮圖案的算法系統(tǒng)。他非常勤

奮地對這套算法進行了修改,這樣可以讓它在長長的打印紙帶上生成一個不間斷的

迷宮。

不久,他制做了一個有幾百萬條分貧的迷宮,四十英尺長,七英尺寬。他把打印紙

帶掛在了程序員辦公室門口長長的過道上,不一會兒,所有編程人員都擠在了那個

迷宮前,試圖解決這個龐大的難題。

開發(fā)中心的主任恰巧從旁邊經(jīng)過,他驚愕地盯著這場景,面色陰沉。但當他走進編

程大師的辦公室想尋求幫助時,大師早已不在那兒了。



五名初學者哭著走進了大師的辦公室,“嗚,嗚!聽說我們的項目可能要被取消了

!

大師說:“所有事情照常繼續(xù),直到它們停止!

聽了這話,那些初學者便返回各自的工作中去了。



一天,開發(fā)中心接到消息,一位新主任將被任命來負責這里,他是位軍機大臣,對

電腦知之甚少。

程序員們聽到這條消息都非常吃驚,紛紛停止了編程,把許多時間都浪費在揣摩那

即將到來的不幸的日子。

看到這些,一位大師決定必須得做點什么。于是,他借來了一套裝扮大猩猩的服裝

。

不久,那位大臣就職了,他把所有的經(jīng)理召集到一間小會議室,隨行而來的是幾位

總部的公司行政官,據(jù)說,他們是來使開發(fā)中心“平穩(wěn)過渡”的。

突然,那位大師穿著裝扮大猩猩的服裝破門而入。他蹦上會議桌,把文件踢得到處

都是,并對著那些行政官咆哮嗥叫,行政官們坐在那里只剩下目瞪口呆了。然后,

他唰地一下離開了會議室,正如他來時一樣。

聽到這件事,程序員們便都回到各自的工作崗位上去了。

<作者按>

作者曾經(jīng)和幾個人談過,他們都親眼目睹過此傳說中描繪的事件。作者也曾聽說,

一年之后,類似的挑釁行為在IBM的某部門中發(fā)生了。這第二起事件與第一起的不

同之處在于,程序員穿了一套運動服,站在門口大聲地咳嗽。



一組程序員正在向董事長匯報。“今年最大的成果是什么?”董事長問。

那些程序員在一起商量
4#
發(fā)表于 2003-9-25 19:18:00 | 只看該作者
很有意思,要慢慢咀嚼!
5#
發(fā)表于 2003-9-27 17:43:00 | 只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2024-10-23 08:33 , Processed in 0.098822 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表