<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 第?12?章?無根的根:無名師的 Unix 心傳 **目錄** [導言](ch12.html#id3057424) [無名師與萬行碼](ch12s02.html) [無名師與腳本狂](ch12s03.html) [無名師的雙路論](ch12s04.html) [無名師與方法論](ch12s05.html) [無名師的GUI論](ch12s06.html) [無名師與Unix狂](ch12s07.html) [無名師的Unix傳統論](ch12s08.html) [無名師與最終用戶](ch12s09.html) > 注意:《Rootless Root:The Unix Koans of Master Foo》為《Unix編程藝術》一書的附錄,原作者不詳 ## 導言 《無根的根》這部心傳的收錄集在西山純凈的空氣中得以保存數十年,它的發現在學術圈中掀起軒然大波。這些出土文稿是否為早期 Unix 教義的新發現?抑或僅是后世高明的贗品?那些半神秘的人物,像尊者 Thompson、Ritchie 和 Mcllroy,是否以此發展出我們所處時代的教義? 答案無法確知。各方爭論均被收入那本經典之作,《編程之道》(The Tao of Programming)。但是《無根的根》在論調風格上都與那本 James 松散詩化的逸聞譯作有顯著差異,所有一切都圍繞著卓越而謎一般的無名師。 把 AI Koans(AI 心傳)與之相提并論頗為恰當;在 AI Koans 中也可發現《無根的根》作者的著筆痕跡。它和 Loginataka(箴言劇)也有密切關聯;實際上,《無根的根》和 Loginataka 大有可能是出自一人之手筆,此人正是無名師。 Tales of Zen Master Greg(禪祖 Greg 傳說)也值得一說,對“九寸釘”的引用已經使人對其古老程度產生懷疑,它對《無根的根》影響微乎其微。 毫無疑問,可以認為標題借鑒了 Mumon 的禪宗經典讀物《無門之門》(The Gateless Gate)。數個心傳都可以看作是對 Mumon 的回應。 無名師應該歸于東派(New Jersey)還是西派(尊者 Thompson 往 Berkeley 的劃時代之旅)。如果不能回答這個問題,我們甚至也許無法宣稱無名師確實存在,它也許只是一群教師,也許是一批達摩尊者。 即使把無名師的傳說附會在單獨的人身上,那他最看重的學生 Nubi 怎么辦? Nubi 是個有血有肉的形象,是個完美的門徒。也許有人會想起佛祖最喜愛的追隨者阿難達的傳說,但他的性格特質在神話傳說中并沒留下痕跡,而佛祖也是永恒的謎。 最終,我們可做的便是講述故事的本原,抽絲剝繭,挖掘其中真意。 《無根的根》還在編寫之中,素材的整理和解釋都是難題。難題解開后,將被收錄到未來版本中。 ## 無名師與萬行碼 無名師曾對來訪的程序員說:“Unix傳統上認為,一行shell腳本勝過萬行C程序。” 這個程序員自以為對C極其精通,說:“這不可能。UNIX內核正是用C實現的。” 無名師回道:“確是如此。不過,UNIX傳統上認為,一行shell腳本勝過萬行C程序。“ 程序員頗為沮喪:”但是在C中我們可領會到尊者Ritchie的智慧。我們與操作系統和機器合而為一,可以獲取無與倫比的性能。” 無名師回道:“誠如你言。不過,Unix傳統上認為,一行shell腳本勝過萬行C程序。” 程序員冷笑著想憤然離去。無名師向學生Nubi頷首示意,Nubi在黑板上寫下一行shell腳本,問道:“尊敬的程序員,看看這行管道,用純C實現,是不是要一萬行C代碼?” 程序員沉吟念誦。最終他承認如此。 “你需要多長時間來實現和調試那個C程序?”Nubi問道。 “很長”,來訪的程序員承認。“但傻子才會干這個而不去完成更有價值的任務。” “那么誰更了解Unix傳統?”無名師問道。“是寫一萬行代碼的,還是看到任務的無謂而不去編碼的?” 聽到此,程序員眼中一亮。 ## 無名師與腳本狂 無名師和學生吃早飯時,從黑客大陸來了個陌生訪客。 “Ihear y00 are very l33t,”他說。“Pl33z teach m3 all y00 know”。(我聽說你很牛,請把你會的都教給我。) 無名師的學生面面相覷,都沒聽懂這類粗鄙言語。無名師微笑道:“你想弄懂Unix?” “I want to b3 a wizard hax0r”,陌生人回答,“and 0wn ever3one's b0xen。”(我想當個頂尖黑客,能掌握所有人的機器。) “我不教這個”,無名師答道。 陌生人很激動。“D00d, y00 r nothing but a p0ser。”,他說。“If y00 n00 anything, y00 wud t33ch m3。”(哥們兒,敢情你沒真本事啊,你要知道點兒東西就教給我了。) “有條路,”無名師說,“可以將你帶入真知。”他在紙上寫了個IP地址。“黑掉這臺機器,這對你來說應該不費什么力氣,它的管理員不稱職。回來后告訴我你發現了什么。“ 陌生人鞠了一躬就離開了。無名師把他的早飯吃完。 幾天過去了,幾個月過去了。沒人再想起陌生人。 數年過去了,黑客大陸來的陌生人回來了。 ”你混蛋!“他說,”我黑掉了那臺機器,你說的沒錯,太容易了。但是我被FBI抓起來扔進監獄了。“ ”好“,無名師說,”你可以繼續下一課了。“他在另一張紙上寫了個IP地址交給陌生人。 ”你瘋了?“陌生人喊道。”經過這事,我再也不黑別人的機器了。” 無名師臉現微笑。“這里就是”,他說,“真知的開始。” 聽到此,陌生人眼中一亮。 ## 無名師的雙路論 無名師如是教導學生: “達摩教義有條準線,這在尊者McIlroy的符咒“做一件事并做好”中得到體現。它強調軟件應當具有簡單一致的行為,這符合Unix慣例,人和其它程序便都很容易想象其心理模型。 “但達摩教義還有另一條準線,體現在尊者Thompson的符咒“有懷疑,用窮舉”中,很多經文都教導我們現在得到的90%,比等不來的100%更有價值。它強調實現的健壯性和簡單性。 “現在告訴我:什么程序符合Unix傳統?“ 想了一會兒后,Nubi沉思道: “老師,這些教義有沖突。” “簡單的實現往往對邊緣情況有欠考慮,比如資源耗竭、無法關閉競爭窗口以及在未完成事務中超時等等。” “發生邊緣情況時,軟件行為往往不規律、難以猜測。這當然不是Unix傳統。“ 無名師頷首同意。 “另一方面,大家都知道精巧的程序很脆弱。更進一步說,每個對邊緣情況的修正往往牽扯到程序的核心算法,還牽扯處理其它邊緣情況的代碼。” “于是,對邊緣情況防患于未然、確保描述的簡單性,反而會使得代碼過分復雜、bug成堆、根本無法發售。這當然不是Unix傳統。” 無名師頷首同意。 “那么,什么是正確的達摩道?”Nubi問道。 無名師說: “當鷹飛翔時,它忘記爪子與地面相觸?當虎捕食時,它忘記騰空的一刻?VAX只重三斤!” 聽到此,Nubi眼中一亮。 ## 無名師與方法論 無名師和學生Nubi在圣地行走,無名師習慣在晚間為城市和鄉村的Unix新門徒布道。 一次,聆聽者中混入了一名方法論者。 “優化程序時不對熱點進行反復衡量,就像漁夫把網撒入空湖中。”無名師說。 “那么,”方法論者說,“管理資源時不持續地衡量你的產能,不也像漁夫將網撒入空湖中么?” “我一次碰到一個漁夫時,他正將網撒入船下的湖中,”無名師說,“他摸了好一會兒船底,像在尋找他的船。” “但是,”方法論者說,“如果他把網撒入湖中,為什么還要找船呢?” “因為他不會游泳。”無名師答道。 聽到此,方法論者眼中一亮。 ## 無名師的GUI論 一晚,無名師和Nubi參加一個程序員的探討會。有個程序員問Nubi和他的老師來自哪所學校。當得知他們是Unix大道的追隨者時,程序員頗為不屑。 “Unix命令行工具太粗糙太落后”,他譏諷道。“現代的、設計得當的操作系統可以在圖形用戶界面中做任何事情。” 無名師一言不發,只是指著月亮。旁邊的一條狗對著他的手狂吠。 “我不明白。”程序員說。 無名師依然緘默,指著一幅佛祖像,然后又指著一扇窗。 “你想說什么?”程序員問。 無名師指著程序員的頭,接著指著一塊大石。 “請把話說清楚!”程序員要求道。 無名師深深蹙眉,輕拍程序員的鼻子兩下,把他扔到旁邊的垃圾箱中。 程序員試圖從垃圾堆掙扎出來之時,那條狗跑過來在他身上便溺。 此時,程序員眼中一亮。 ## 無名師與Unix狂 一個Unix狂熱者聽說無名師掌握Unix大道真知,便跑來求教。無名師對他說: “當尊者Thompson發明Unix時,他并不理解它。隨后他理解了,受益了,不再發明了。“ “當尊者McIlroy發明管道時,他只知道它將傳遞軟件,并不知道它能傳遞思想。” “當尊者Ritchie發明C時,他將程序員放到緩沖溢出、堆損壞和爛指針bug的地獄中懲罰。” “說實話,這些尊者又瞎又蠢!” 狂熱者對無名師的用詞極為憤怒。 “這些智者”,他抗議道,“給了我們Unix的大道。我們嘲笑他們,就是混淆是非,比轉世為牲畜和MCSE還不如。” “你的代碼全無污點和缺陷?”無名師問。 “不,”狂熱者承認,“沒人不犯獵。” “這些尊者之智,”無名師說,“就是了解自身之愚。” 聽到此,狂熱者眼中一亮。 ## 無名師的Unix傳統論 一學生對無名師說:“我們聽說SCO公司把握著純正的Unix。” 無名師頷首。 學生繼續說,“我們還聽說OpenGroup公司也把握著純正的Unix。” 無名師頷首。 “這怎么可能?”學生問。 無名師答道: “SCO確實把握著Unix源碼,但是Unix的源碼不是Unix。OpenGroup確實把握著Unix的名稱,但Unix的名稱不是Unix。” “那么,什么是Unix傳統?”學生問。 無名師答道: “非源碼。非名稱。非思想。非實物。恒變。不變。” “Unix傳統是簡單和空。正是簡單,正是空,才使得它更強勝颶風。” “以自然法則前行,在程序員手中,吸納各種優良設計。與之競爭的軟件最終必與之想像;空,空,真空,虛無,萬歲!” 聽到此,學生眼中一亮。 ## 無名師與最終用戶 無名師又一次布道時,一個最終用戶聽說了他的智慧,跑來求教。 他對無名師三鞠躬。“我欲學習Unix大道,”他說,“但是弄不懂命令行。” 一個旁觀的新門徒開始嘲諷最終用戶,說他腦子一鍋粥,說只有經訓練者、有智慧者才配使用Unix。 無名師撫手不語,命這個嘲笑最終用戶的新門徒前坐,坐到最終用戶身邊。 “告訴我,”他對新門徒說,“你寫過什么代碼,有過什么突出設計。” 新門徒囁嚅了兩句,然后沉默了。 無名師轉向最終用戶。“告訴我”,他問,“為何你要尋求大道?” “我用的軟件并不能令我滿意”,最終用戶答,“既不穩定,也不美觀。聽說Unix之道盡管艱難,但超越一切,我愿拋去一切誘餌和虛像。” “那么,”無名師問,“你為何想盡辦法讓軟件幫你做事?” “我是個建筑工”,最終用戶答道,“這座城里的很多房屋都出自我手。” 無名師轉向新門徒。“家貓也能欺負老虎”,無名師說,“但是貓叫永遠比不過虎吼。” 聽到此,新門徒眼中一亮。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看