第零篇 無上心法

FORTH 與禪

前言

在某些狂熱者的眼中, FORTH 不只是一種電腦語言,有時它更像是一種宗教,受到支持者的崇拜與信仰。在眾多的宗教中, FORTH 與禪的境界最接近。如同大家所知,禪代表著精簡、雋永、智慧與啟發,同樣的,這些屬性也都可以用在 FORTH 的身上;除此之外,它們都象徵了對傳統的一種挑戰甚至是一場革命。FORTH 與禪之間的關係,一直無人將它做一有系統的介紹,而這正是本文的目的。

FORTH 與禪的比較

禪的代表人物是六祖慧能,他是中國禪宗的第六代傳人;目前風行的「六祖壇經」即是他與其弟子的對話錄。與佛教經典相比,六祖壇經顯得較為精簡、易懂、含蓄,所以也更為耐人尋味。吾等認為比較 FORTH 與禪之間關係最好的方法,就是將一段壇經原文與一段 FORTH 的原始碼並列,它們之間或許沒有直接相關,但只要用心體會,一定能感覺出彼此所共同透露出的神韻。

禪與 FORTH 的歷史

禪在本質上融合了儒、道、釋三家的精髓。中國人的心中常會存在著一種矛盾:在繁褥的儒家、虛無的道家和一個進口的宗教「佛」之間,總是不知如何取捨。於是經過五代相傳,禪宗終於在六祖慧能的手上大放光采,攫取了眾多中國人的心靈。日後,這股禪的熱潮更推向了日本、韓國、東南亞,以至於到今日的西歐與美國。

跟禪宗比起來, FORTH 的歷史幾乎微不足道。它是由一個孤獨的科學家 Charles Moore 在六十年代末期發明的。說他孤獨是由於他的思想、方法都被排除在當時電腦科學的「主流」之外。在最初的十年, FORTH 幾乎無人知曉,一直到了1985年之後,它語法精簡、結構優雅、記憶體使用十分經濟,諸如此類的優點才漸漸為人所發掘,進而廣為人知。

口傳心授的禪

佛教是釋迦牟尼所創,他強調人人只要去除私慾,則都能夠成佛,二百年後,佛教分裂成二派:大乘與小乘。大乘佛教後來傳入了中國、韓國及日本。而小乘佛教則傳入了錫蘭、泰國與緬甸。大乘佛教西元二百年傳入中國後,受到人們的歡迎,更傳入了大量的佛經。

襌則是在西元 527年由印度僧人達摩袓師悟達的。傳說他在少林寺面壁九年,才悟出了襌的道理。但是他既不引用佛經、也不自行著作,只用口頭說明來啟發學生。於是襌就以口述的方式,代代相傳;相對於佛教的大建廟寺、廣譯群經,禪卻以口傳口、心通心的方式流傳下去。

口傳心授的 FORTH

FORTH 是在1970年由 Charles Moore 所發明的。 FORTH 是 FOURTH 的縮寫,即第四代語言,有別於當時已大放異彩的第三代語言。FORTH 的程式碼非常難懂,因為它的編譯器也是用 FORTH 寫的。要了解 FORTH,必須先了解它的編譯器,要了解它的編譯器,卻又必須先了解 FORTH。FORTH 這種「易學難精」的特性,使得許多人望之卻步。多年來,FORTH也只能以口傳口、心通心的方式在某些擁護者之間流傳,未能普及大眾。

禪的發揚

六袓慧能是襌宗的關鍵人物,這位不識字的天才,原本是個樵夫。後來他投入了五袓弘忍的門下學習禪宗。弘忍即將圓寂之前,集合了門下弟子,要他們各寫一首偈,弘忍再根據弟子們的慧根,決定將衣缽傳給誰。

當時神秀(弘忍的得意門生)寫下了這首偈

身是菩提樹,心如明鏡臺。 朝朝勤拂拭,莫使惹塵埃。

而慧能則口述請人代寫了這首偈:

菩提本無樹,明鏡亦非臺。 本來無一物,何處惹塵埃

根據偈中的意境與啟發,弘忍將衣缽傳給了慧能。慧能成為宗師後,只做口述傳教而不著作經典。大約西元六百年,一位巡撫請慧能的高足法海,根據慧能的言教,寫下了六祖壇經一書,書中表達了襌真正的想法與境界,更使一般人能輕易地了解襌的意境;六祖壇經的完成,使得襌為大家所熟知、意會,進而使襌發揚光大。

FORTH 的發揚

正如前述的種種障礙, FORTH 始終只是少數人的流傳之物。直到 1978年FORTH 推廣學會(FORTH INTEREST GROUP)的成立,他們針對市面上最風行的六種微處理機,用組合語言撰寫了 FORTH 系統,使一般電腦使用者也能了解 FORTH 的程式碼,進而使用它。1980年之後,更出現了大量的 FORTH 相關書籍,如 LEO BRODIE 的 STARTING FORTH,丁陳漢蓀博士的 SYSTEM GRUIDE TO FIGFORTH ,及 BYTE 雜誌的 FORTH 特別報導;這些都扮演了類似「六祖壇經」的角色,使一般使用者都能接觸 FORTH ,使用 FORTH ,進而了解「FORTH 如何完成工作」,而非「FORTH 能做那些工作」。這些努力使 FORTH 不再是一個神秘難解的語言, FORTH 變得大眾化、親和化、乃至發揚光大。

襌的單純性

經過長久時間的流傳,佛教變得非常複雜。有太多的佛經註解、有太多高僧的偈言,此外它更融入了其他宗教的教義(如十八層地獄、輪迴觀念即來自印度教)。久而久之,信徒們往往只拾取他們相信的部份:如素食、佈施、放生等。相對的,襌就單純了多,慧能並不相信實行這些作為就真能成佛。他認為佛已存在於每個人的心中,只要去除私慾雜念,就能成佛。所以襌宗不重修行、不依賴佛經反而重視個人的心靈啟發,比佛教要單純了許多。

FORTH 的單純性

為了突顯 FORTH 的單純,我們可以把前面神秀、慧能的偈做些修改。當今的電腦觀念;就如同神秀的偈:

 硬體雜又難,軟體學不完。   日夜埋首幹,心酸又心煩。

而 FORTH 呢﹖ 就像:

 硬體具實觀,程式為思串,   符式由中穿,人機原一貫。

現今的電腦科技,軟硬體都相當複雜。主要是由於人與機器之間,隔了太多軟體。「以軟體保護硬體」這觀念源自於過去大電腦的時代,當時電腦當機是最可怕的災難,所以專家們設計了重重關卡(如 O.S LOADER DRIVER 等)來「幫助」使用者使用電腦設備。而這些複雜的軟體,卻造成了使用者學習上莫大的困難。(如圖一)

                            ┌─────┐               │使用者│               └──┬──┘                  │       ┌──────────┴──────────────┐       │ Applications (應用軟體)   │       │                         │       │   Compilers  (編譯程式)  │       │   Editors    (編輯程式)  │       │   Assembler  (組譯程式)  │       │   Linker     (鏈結程式)  │       │   Loader     (載入程式)  │       │                         │       │    Operating Systems     │       │      (作業系統)          │       │                          │       │    Resource Managers     │       │   (資源管理,如記憶體    │       │    、CPU的時段分配)      │       │                          │       │      Device Drivers      │       │  (設備與裝置的驅動介面)     │       └─────────────┬───────────┘                     │               ┌─────┴─────┐               │ 電腦硬體                    └───────────┘

然而現今的電腦已不再是那麼回事,按一下 RESET 即可再起動,更何況使用者往往就是電腦的擁有者,他會為他的行為負責。所以實在無需再將人機之間加諸種種限制。FORTH 即遵循這個觀念:基本上, FORTH 是一個單純、整合的介面,透過它使用者能夠輕鬆地取用任何硬體資源,更由於單純化、最佳化,所以速度更快、記憶體更省、效率更高。(如圖二)

              ┌─────┐                 │  使用者  │                 └──┬──┘                       │             ┌────┴────┐             │Outer Interpreter │             │   (人機介面)     │             │                  │             │     Forth        │             │                  │             │Inner Interpreter │             │   (執行機構)     │             └────┬────┘                       │                 ┌──┴──┐                 │ 電腦硬體 │                 └─────┘

此外 FORTH 還有幾個特性,現今電腦中過多的暫存器(Register) 往往造成呼叫程式時需要重覆存取的困擾。而 FORTH 採用高效率的記憶體存取技巧,且將一些需暫存資料都放入堆疊(Stack)中,大大提升了效率。而後置式的運算表示法,雖然會造成某些初學者的不習慣,但其精簡只需要 1-pass 的編譯,而傳統的中置式則通常需 2-pass 的編譯。FORTH 的精簡單純,正是造成它效能驚人的最大原因。

襌的啟發性

如前所述,襌與佛教在某些地方有所不同,佛教講求自身的修行與經典的研習。更由於經文大多由梵文翻譯,所以更造成了理解上的困難與教義的眾說紛云。襌宗則是重視心靈的修為,它認為真正的啟發決不是來自書上,而是來自心靈的交流。襌對於心靈啟發的方式,又分為兩派,神秀主張「漸悟」,而慧能則主張「頓悟」。但正如慧能所闡述的,啟發的方式並不重要,重要的是如何除去外在的阻礙,以達到心靈的啟發。

FORTH 的啟發性

談到 FORTH 的啟發性,指的應該是使用者對電腦硬體的完全了解與掌握。當今的作業系統(O.S) 與程式語言(P.L) 實際上限制了使用者,讓他們只能做系統允許他們做的事。而使用者一旦透過FORTH 掌握了電腦,他們會發現他們才真正的成為電腦的主人,而電腦不過是個有威力、卻很溫順的奴隸罷了。

FORTH 分為兩個部份:內部的執行機構(INNER INTERPRETER) 與外部的執行機構(OUTER INTERPERTER) ,內部的執行機構(INNER INTERPERTER) 用來實際執行 FORTH 的指令群駕御硬體,而外部的執行機構(OUTER INTERPERTER) 則 能把使用者輸入的文句轉換成 FORTH 碼。所以使用者一旦將 FORTH 弄熟了,就不用再受到作業系統(O.S)與程式語言的先天限制而成為電腦真正的主人。

金城 註疏:

在1993年的 9月 FORTH 已成為 IEEE 的開放式開機韌體的唯一標準。如果你使用 SUN 的工作站於任何時間按 STOP-A 就可進入FORTH 的環境中任你遨遊。

無上心法第一篇

一把平凡的菜刀

記得剛出國求學的時候,看見老外的廚房裏琳琅滿目,各式各樣的鍋、碗、盤、盆、刀叉瓢羹,覺得文明的國家連廚房都是那麼的多采多姿,引人入勝。尤其是刀架上,七、八種各式各樣的刀,閃耀動人,有切肉刀、切魚刀、切麵包刀、切火雞刀、切洋蔥刀、切水果刀、切葡萄柚刀,砍骨頭的刀。有平滑刀、有鋸齒刀.......。哇!嚇死人了。要做一餐飯,需要四、五種盆,五、六種鋸,七、八種刀。弄完一餐飯要洗堆積如山的各種用具。最難過的是花了如此多的時間,使用了數十種工具。但做出來的西餐並不一定精緻,也不一定討人喜歡。

反觀:我們中國大廚的手上,只有一把平平凡凡的大菜刀,但熟能生巧,劈、砍、切、削、剁、片、拍、剃........。能將雞鴨魚肉疏菜水果處理的有條不紊,恰到好處。一個又黑又醜的炒菜鍋,在火候控制下能煎、煮、炒、炸、燒、烤、焗....樣樣能幹,做一桌菜,一刀一鍋一鏟,如此而矣!中國菜名聞四海。憑的是什麼,秘密在那裏!你知道嗎?老祖宗的無上心法只是 " 一把平凡的菜刀 "。" 簡單 " 二字而已!因為!簡單的菜刀使廚師能夠在反覆使用的熟練中,控制自如;由熟透工具而產生技巧。再由熟悉了技巧而能專心的思考做菜的問題。能想到什麼菜式,就運用熟練的技巧將之表現出來,而達到人刀一體的完美境界。

再回頭看老外的廚子。那麼多種工具,要用一生的時間去學去記。活到老學到老。那有時間去專心的想做菜的問題。相同的,我們來看現今學電腦的問題也是犯了同一個錯誤;走進電腦書店,各式各樣的書籍,逛逛電子街,各式各樣的軟硬體,叫人眼花撩亂,不知所措。 DOS、UNIX、OS/2、Window-NT、DBASE、FOXBASE、Clipper、Lotus、Excel、C++、PASCAL、BASIC、COBOL、FORTRAN、Assembley,嚇死人了。成千上萬的東西要學,還沒學會這一版,下一版又出來了。每個人的硬碟由數十 Mega,換成了數百 Mega 仍然不夠用。書架上的手冊陳列了數十本,但沒有一本看完。學了數年的電腦,但仍尋尋覓覓的在找新的軟體和新的書籍。活到老,學到老,就是無能力解決問題。或每遇到一個新問題,就要學一個新工具,看一本新祕笈。唉!孰不知練招不練功,到頭一場空。花了大量的金錢,耗上了青春歲月。唯一的收穫,只是知道了幾個流行軟體的名字,和一台只耗電不賺錢的電腦標本。書架上一本本" XX入門 " ," XX速成 " ," XX大全 "," XX寶典 "都成了丟了可惜,留著沒用的負擔。可憐!可嘆!可悲矣!

反觀!學 Forth ,用 Forth 的電腦專家(Computer Hacker),窮其一生,只鑽研 Forth 的書籍,只使用 Forth 一套軟體,(Forth 也有自己的 CPU 和硬體),當然容易熟能生巧,而後專心思考工作上的問題。要做資料庫,就建立一群專門搜尋、排序、讀寫檔案、記錄的指令集。要做電腦繪圖,就建立幾個畫點、畫線、畫圓、塗色的指令。要做電腦音樂,就寫幾個控制、音高、音長、音強、音色的指令。要做自動控制就建立幾個時序中斷的輸入輸出指令。覺得他人的文書編輯軟體不好用,就依自己的喜好寫一個自己順手的編輯程式,又好用,又不需要看手冊,反正,每一個功能都是自己定的!

看 DOS 不順眼;又覺得 UNIX 太龐大,那就用 Poly-Forth 嘛!只佔8K的記憶體,又是多人使用的多工即時作業系統。甚至仍覺的不爽那就自己重寫一套 Forth ,反正有自我介變編譯器(Meta Compilor)就算重建一次也不過幾天的功夫與時間!

一個真正的 Forth 高手,一定會做各種應用的軟硬體。更會做系統工具如組譯程式(Assembler),編譯程式(Compilor)和編輯程式(Editer)。因為,這些都是 Forth 系統的一部份!聽起來好似很誇張,但確一點不假。隨便任何一個Forth 高手,都會同意這樣的說法。

可是其他系統或語言的高手,絕不敢有這一種想法。試問 DOS 的高手有幾個敢重寫 DOS 。C 語言的高手有幾個敢重寫 C 語言的編譯程式。PE2 的高手是否敢重寫 PE2;中文輸入法的高手有幾個敢重新發明更好的中文輸入法。但每一個 Forth 的高手,都敢而且都會重寫一套自己的 Forth 系統。這幾乎已成了 Forth 的傳統鐵律。是什麼使 Forth 的高手與其他系統或語言的高手,有如此大的差別,就是" 簡單 "二個字的威力。

因為 Forth 系統就只有兩個堆疊、一個字典,如此簡單的結構,非常容易精深。一旦熟悉之後,便能依個人或應用的需求而產生各種變化,以擴充原有舊環境的能力。也就是建立新的指令或讓舊指令有新的功能。這就是 FORTH 的應用方式。一種簡單而有效率的方式。常聽學生們聊天,覺得當今學電腦的人中毒很深。老是迷信 " 速成 " 的流行趨勢,而忽略了根基紮實的重要性。

" 解決問題的是人,不是工具 " 。使菜變得可口好吃的是廚師,不是廚師手中的刀。學 Forth ,一如學用刀,該看成手段,而非目的。真正的要義是:學好內功,只需一招 " 人機一體 ",便能專心面對問題,思考問題的特性與通則,思考問題所需要的資料結構,思考問題所需要的演譯法(Algrithm)。而 " 對電腦與問題的深入了解 " 是克敵致勝的第一要素。

而 Forth 的簡易性與擴充性,和模組(module)的再用性(reusable)只是使人機一體的你,能更精熟與自信的去迅速解決問題罷了。反過來說,正因為學Forth 的路途中,有組合語言、有作業系統、有編譯程式、有直譯程式、有資料結構(主記憶體的管理).....。所以,如果能專心的熬過這一場毅力與堅持的考驗自然成為人機合一的高手。一如能在廚房熬成大廚一般。刀功、火候的磨鍊缺一不可。

否則,半途而廢,不如不學,徒增自艾自怨罷了。還不如,死心塌地當一個平凡的使用者,會用用試算表、文書處理、套裝軟體就罷了。不用吃苦受難也不用白忙一場。說實話、看的太多了,反正這世上絕大多數的人學電腦都是學心安的半調子。前幾年流行 BASIC ,就一窩風的學 BASIC ;這幾年流行 C 就一股學 C 的浪潮要把人淹死。最近流行物件導向(OOP)的 C++又是阿貓阿狗的惡叫惡吠一陣,天曉得,明後年又要搞什麼飛機了。真奇怪!追的不煩、學的不累啊!怎麼這麼多年了都沒人弄清楚。" 是廚師對做菜的配方了解,加上刀工和火候的掌握使中國菜揚名四海,而不是金刀、銀刀的威力或神蹟使然 "切記!切記!

無上心法第二篇

如何在心中建一個電腦

在電腦這個世界裏打滾十多年了,常常被人問道:「老師!為什麼你對電腦玩得那麼精深,從硬體的邏輯玩到 CPU 的設計從系統的 O/S、Compiler 搞到電動玩具的音樂,畫面控制。一下子寫 Editor 一下子寫 Fractal 的程式都那麼順手,早上寫組合,下午寫 C++ ,晚上寫 PROLOG 都不會弄亂......。」

其實!我並不是電腦的天才高手,而是 Forth 的十項全能,使一個這樣平凡的我,擁有了一次那麼亮麗的人生展現。還記得在十幾歲的時候,酷愛寫詩填詞,彈琴譜曲,對電腦是一點概念都沒有的電腦文盲。直到有一天在電子街看到 APPLE2 ,一下子被那個小機器所吸引住。(那時還不懂什麼是8位元的CPU)。但是十幾歲的孩子,那裏買得起數萬元的東西(那時一般公務員才賺幾千塊月薪)。於是自己慢慢的存,存一點錢買一塊空的主機板。再存一點錢買幾顆小 IC ,再存一點錢買一個鍵盤.....買一個螢光幕......。就這樣花了一年多,才買全了零件。剛開始用鉻鐵銲零件,也是步步艱辛,一點一點慢慢的銲,遇到不懂的,就去圖書館借電子學和數位電子學的書來看。又花了半年,才在螢光幕看到 OK 。那一天,我哭了一場。從什麼都不懂到裝出一台自己的電腦,我花了近兩年的光陰和熬了上百個夜。

而這似乎只是一場惡夢的開始。因為這只是硬體部份而已!接下來是學軟體了,沒錢買軟式磁碟機(一台一兩萬),只好把花了一夜寫好的 BASIC,用學生情人卡式錄音機錄下來,以便隔日除錯(Debug),半年過去了。學來學去都煩了,看來看去都是那幾本書;沒有什麼新鮮的了,這時有人告訴我在整數版的BASIC ROM 中有一種叫組合語言的東西。當天狠下心來換了一套 ROM ,開始 " K " 組合,才知道原來 CPU 中有暫存器、累加器.....。又過了半年才把APPLE2 的監督程式 "K" 完。這時已近二十歲了。在多少深夜的苦讀中,一本本資料結構,計算機組織,邏輯設計,週邊設備介面學,作業系統、編譯程式、電腦圖學、系統程式、程式語言、演釋法、人工智慧、平行處理、工程數學、離散數學、機率論、集合論、拓樸.....伴我熬到天明、在學校中、離群寡居、在老外的眼中,似乎我這個老中是沒有黑夜的讀書鬼,白活了,大學也白唸了。

說真的,那時我書讀的太雜亂!沒有自己的思維系統!只要教授提一本書,我就 "K"一書本,弄得己很累很慘!所幸的是!申請到了研究所的獎學金之後便到紐約讀研究所去了。但自己知道,做學問和讀死書是不同的,我很害怕,怕拼不過老外會失去獎學金。尤其在程式作業被 Dr.Suson 當面撕碎時!我想大概什麼都完了。她要我重寫一份程式,我送去又被撕掉了,我只好又寫了一份,來來回回繳到第六份才被接受;她之後問我是否了解 " 自己可以要求自己,為什麼還需要別人來要求你 "之意,我終於了解,她的用心是在砥礪學生們 " 自我要求是良好品質的唯一保證 "。

在修進階計萛機組織時,Dr.Tanenboum 問我,電腦和人有何異同之處?我說了一大堆,他卻難以接受的搖搖頭。叫我回去自己想清楚。只提示我電腦的" 軟硬體 " 一如人的 " 靈與肉 "。

我回去一直想" 靈與肉 ",才體悟了人與電腦原是一體的兩面。人有記憶體,而電腦有 ROM 和 RAM ;人有筆記本而電腦有磁碟機,在上課時人抄筆記,就似電腦存檔一樣,不怕忘記。考試前翻看筆記就似電腦開檔讀進 RAM 中一樣,可以恢復記憶的內容。人有筆,電腦有印表機,人有往來禮儀,電腦有握手協定;人有電話,電腦有網路;人有大腦思維,電腦有 CPU運作。人要學習正確的知識才能明辨事非,電腦需要明晰的指令才能解決問題.....。到那一天我才了解,學電腦一點都不呆板一點都不陌生。因為電腦只是將人的" 靈與肉" 數位化了而已。只要用心探索人類自我的 " 靈與肉 ",自然就會了解電腦的 " 軟硬體 "。

例如:人類有法律制度,電腦就有作業系統,人類有翻譯,電腦有編譯程 式,人類由細胞組成,電腦有邏輯元件各司其職。人類有私有財產,電腦有區 域變數。人類有交通幹道,電腦有匯流排。幾乎電腦上所有的事物與觀念都與 人類的世界相互呼應。其實看清楚,摸透了,就不覺得艱澀難懂了。在研究所 的教授中 Dr.Goldon-Stein 是最叫我憶念的了,他在課堂中老是叨著一隻煙斗 ,在上程式語言時,他告訴我,每一類電腦語言都是一種心靈思維的表達方式。 不同的語言有不同的寫作風格,有不同的美學標準和不同的條律規範。

Modula2:嚴謹明確、優雅動人、似貴婦人一般。    LISP:簡潔流暢,層層相關。像言行一致的君子。          APL:纖細動人,玲朧巧妙宛如淘氣的小ㄚ頭討人喜歡卻難以捉摸。   BASIC:和善易處,寬大不拘小節,一如好客的村姑野叟,淺謐愉快輕鬆,但不足以托負重責大任。      C:靈活衝動,如千里之駒,若能駕御則神兵利器,否則野馬脫韁,主人被困,非死即傷。 FORTRAN:古樸溫潤,雄深雅健自有俠客之大家風範.....。

如此數例,可以得知選擇電腦語言,一如尋求婚配,要深入了解對方之家庭背景,生活習性才能手到擒來,事半功信,更要和自己的個性處得來,能截長補短互信互助,才能事事順遂,否則數日一吵幾日一鬧,內亂紛擾,未能克敵致勝,已吐血身亡。出師未捷身先死,常使英雄淚滿襟、情何以堪,心何以甘。所以,千萬不能找錯對象,算準成婚;適合他人的,不見得適合你。流行的趨勢不是人人都能穿著得體好看。最後談談 Forth 吧?

Forth 似形而上的宗教信仰" 只傳心法,不立文字 " 得多得少、是成是敗;不問過往根業,只看福緣深淺。一如老子之道,微妙玄通,深邃廣遠,大方無隅,大象無形。亦如禪宗法門,簡要不繁,各人體用不一。唯有一心一念不亂,日夜參悟精進方能登門入室,練成無上心法,其化境無形無象,飛花摘葉皆能克敵致勝,談笑間用兵千里,何需刀劍之累。若能功德圓滿,出關之日,再回顧 Forth 自身之章法文字也覺得皮囊而已。學 Forth 一如天蟬百變,吃桑脫皮,苦痛中成長,做繭自縛死後重生,才能化羽高飛。所以需要一抹虔誠,方能堅信不疑,否則學之初雄心萬丈信誓旦旦,一但挫折"潰不成軍,半路退兵 "。更需要一股愚公移山的傻勁,方能精誠所至金石為開。我相信任何一個人機一體的 Forth 高手,都曾體受過那份痴傻背後不為人所知的辛酸。

我在剛學 Forth 時,也是日日怨,夜夜愁,直到一年後發覺自己在寫程式時,口中順嘴說出的就是程式的句子,心中凝想著兩個堆疊的上下起伏毫無半點刻意,是下意識的自然反應。那一夜,我感到一股從未有過的輕鬆與自信,我笑了,因為我知道我再也不用為電腦的工作感到壓力和恐懼了。因為我心中已成了一部 Forth 的電腦,我的惡夢終於消失了,不覺莞爾。

無上心法第三篇

程式設計之道

金城 註疏:

此篇節錄自 Geoffrey James 在 1986 年的著作 The Tao of Programming 此書有許多地方的神韻與 FORTH 十分相似,在紛亂的資訊世界中注入了一股清流。作者以老子為背景,敘說程式設計之「道」。該書薄薄的僅有 150頁但句句禪思扣人心弦,引人步入對創作程式的深省。這麼多年來,程式設計到底是「工程」還是「藝術」,在此看看大師的見解,竟是濃郁的人文色彩。相信您若是愈資深的程式設計師,愈能體會此節中的精髓。一窺堂奧。若是初學,或學究,則必然不信半字。 FORTH 是一種求「道」的過程。讀者何妨虛心觀之全神體悟,必有所獲。每節之後的註疏,只代表我個人的淺見,並非對原文的添加。

第一部 靜寂虛無篇

程式員大師(以下簡稱大師)如是說:「學會了從程式抓蟲子之後,就可以畢業了。」