?? hnxxcxg編程之禪.txt
字號:
毫無疑問,古老的編程藝術在西文人的腦海里通常會被誤解,現代的觀點則認為
這是一種工程學、機械論和唯物論。
許多人認為,編程僅是為了達到一個目的而使用的一種手段,而且,一個程序(及
程序員)只能依據其賺錢的能力來評價。
這些原始的錯覺,來自于對編程的真正意圖的一種很深的誤解。
高超的程序員并非致力于表面的成功,而是在人機之間尋找一種神秘的存在。
根據禪的解釋,在硬件、軟件、固件、界面和理解之間沒有分界--相反,所有
這些都結合進了一個和諧的整體。
只有當程序員最終學會了將那種“自我自我的存在”的虛假感覺拋在一邊,此種
境界才可能達到,而那種“自我的存在”的感覺往往伴隨在我們大多數人的生活
之中。
這是計算機所帶來的--禪師程序員的行為方式。
有人說,掌握了禪機的程序員也就掌握了生命。這樣的程序員是以一種永不疲倦
的童稚的歡樂來看待這個世界的。
覺悟了的程序員,走在大街上也能感覺到兩旁房子和大樓里面的電腦。
覺悟了的程序員,能夠感覺和聽到調制過的數據穿過電腦線時那種電流脈沖的持
續不斷的嗡嗡聲。
覺悟了的程序員已經與宇宙合為一體。
通過完成程序維護的工作來“學會這套系統”。
“你正在試圖理解某種不可能被你的理性思維所理解的東西,”他說,“這樣所
導致的結果必然是失敗。你必須先清空你的大腦,只有那時,你才能開始領悟《編
碼藏經》。”
那些大師對‘良好的程序設計慣例與規則’一無所
知,”師父說,他們努力去理解普遍意義上的計算機思維的內部活動,他們還需
要什么說明文檔呢?那些程序是極限的表達。
然而,即使我慢慢開始有所領會,我還是感覺到自己像一只在琥珀在掙扎的小飛
蟲。師父所講的與我曾學過的東西截然不同,我的理性思維很難接受。但師父總
是耐心地一遍遍解釋說,我必須不靠理性思維去推理,而要用潛意識來領悟《編
碼藏經》的內涵。
最后,我終于明白,所有用我的理性思維去理解《編碼藏經》的努力都是徒勞的,
這使我很絕望。師父覺察到了我思想上的這個變化,他開始向我傳授開機。他教
給我冥想和查錯的技巧,他說這些技巧是從計算機時代之初,由技術支持部一代
一代地傳下來的。
我聽著聽著,開始意識到一個關于我以前的編程體驗的特大事實。在大學里,我
一起認為程序員的工作主要是控制硬件和軟件的活動,編程的最高藝術境界是,
為了完成一項任務或達到一個目標而成功地運用高超的編程技巧。但程序維護是
不同于程序開發的。要想維護一個程序,就要把程序看作是一棵漸漸成長的植物,
拔苗助長是毫無益處的。事實上,這樣的行為更容易導致植物的死亡。一個程序
必須被小心地滋養。程序員在對程序進行改動之前,必須對每一個邏輯關系非常
熟悉,必須對程序的意圖有很深刻的理解力。這種理解力不是在一夜之間就可以
得來的,需要長時間的積累。
好幾個月以后,我終于能夠給《編碼藏經》成功地設計修補程序了,但設計之前
要經過長時間的冥想,還要把那本程序清單打開著支在我的桌子上。我還發現,
如果我工作的時侯點燃一支香,口中不停在重復師父教給我的口訣:
“Null-So-Stix-Etx-Eot”(ASCII 碼表中頭五個字節NUL、SOH、STX、ETX、EOT
的發音--譯注),我更容易集中注意力。師父說,那個口訣意味著宇宙的“五
原”。
不久我發現我不再關心是否能為工作成績而得到獎勵了,在我自身和我所維護的
程序之間也看不見任何分離了。我像一個一生都活在陰影里的人一樣,開始理解
編程之禪,這是一種隱于程序員設計背后的難以言喻和難以形容的力量,就像投
射影子的太陽一樣。
從那毫無意義的“自我的存在”中擺脫出來后,我開始發覺,那些偉大的編程語
句過去對我來說似乎模糊不清,只是因為我還沒有徹悟,無法理解它們。我現在
知道了為什么過去的那些程序員從不為他們的程序提供文檔,因為英語語言的描
述本身更讓人迷惑,而非使人受到啟發。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -