天天看點

獨孤九劍與黑客程式設計

我們知道獨孤求敗一生用過五種不同的劍,分别為無名利劍、紫薇軟劍、玄鐵重劍、木劍乃至無劍。

        這五種不同的劍,事實上代表了獨孤求敗劍學的五個不同境界:利劍級、軟劍級、重劍級、木劍級和無劍級。

利劍級:

        “獨孤九劍”顯然是屬于這個級别的武功,我們可以肯定的是:用玄鐵重劍是根本無法施展“獨孤九劍”的。而在獨孤求敗的劍冢題詞中,對無名利劍又有如下評語:“淩厲剛猛,無堅不摧,弱冠前以之與河朔群雄争鋒。”古時男子二十歲行冠禮,“弱冠前”即二十歲以前。很難想象一個二十歲不到的年輕人能自創出“獨孤九劍”這樣的劍術,即便将這一創作的時間推遲到“軟劍級”階段,即三十歲以前,仍有其不合理性。

        劍術的創造是一個經驗積累的過程,有點類似于圍棋的定式,是經過無數前輩高手推敲琢磨後才逐漸完善的一種體系結構。而看過《笑傲江湖》的人都該知道,“獨孤九劍”是一個極其複雜和完善的武學體系結構,其中包括了總決式、破劍式、破刀式、破槍式、破鞭式、破索式、破掌式、破箭式、破氣式等極具完備性的武學理論。作為個人,要創造這樣一個完整的武學體系,需要極其豐富的經驗和閱曆,不管怎麼說,一個三十歲不到的年輕人都是幾乎不可能擁有這麼高的經驗和見識積累的。武學奇才如張三豐也須到百歲之後才能自創太極劍和太極拳(這是一個以柔克剛的武學體系,相當完備,而且發前人所未想),很顯然“獨孤九劍”最有可能是獨孤氏的家傳武學。獨孤求敗非常幸運地出生在這個武學世家,是以在二十歲不到的年紀就學會了這套家傳絕學,得以仗之“與河朔群雄争鋒”。

軟劍級:

       關于這柄軟劍,獨孤求敗的題字頗耐人尋味:“紫薇軟劍,三十歲前所用,誤傷義士不祥,乃棄之深谷。”從表面上看,将“誤傷義士”歸咎于軟劍的“不祥”,并将其“棄之深谷”,似乎實在有失高手的水準。然而仔細推敲一下,仍不難發覺其合理性。

衆所周知,“獨孤九劍”是一種很容易達到“無招”境界的劍法,但達到“無招”的境界後又會如何呢?令狐沖在未學“獨孤九劍”前就曾問過風清揚一個頗有創見性的問題:

如果對敵的雙方都達到了“無招”境界會産生怎樣的情況?風清揚顯然是從沒想過這個問題的,為了不緻被後輩小兒問倒而顯得很沒面子,就以一句“當今之世,這等高手是難找得很了”敷衍搪塞過去了,就因為這句話令狐沖日後可吃了大苦頭,與東方不敗的一戰幾乎送掉小命。獨孤求敗當時顯然也想到了這個問題,而非常自然地,他也會想到一個直截了當的答案:“無招相較,快者勝。”(令狐沖在與東方不敗一戰中之是以大吃苦頭,正是因為對手太快了。)由此也就不難了解獨孤求敗為什麼選擇軟劍了,軟劍的優點正在于其輕盈快捷,可以獲得比對手更快的速度。

        然而凡事有利亦有弊,劍過于快了往往就難以收發自如,起初獨孤求敗或許還沒有意識到自己的劍法已漸入魔道(很有可能還因為江湖中人稱他為“劍魔”而沾沾自喜),直至發生了那樁“誤傷義士”的“惡性事故”。關于如何會“誤傷義士”,書中雖然沒有詳細記載,但根據其産生的結果(即令獨孤求敗将“紫薇軟劍”定義為“不詳”之物而“棄之深谷”,并由此開創了“重劍級”的新境界)來看,該是與“軟劍級”劍術無法收發于心有關。由此看來,獨孤求敗将紫薇軟劍“棄之深谷”的行動,事實上代表了獨孤求敗對“軟劍級”這段武學彎路的摒棄,和另起爐竈的決心,頗有一點“覺今是而昨非”的味道。而将“誤傷義士”直書于劍冢之上,又足見其坦當磊落之意,非常人所能及也。

重劍級:

        放棄“軟劍級”這一劍學歧途之後,獨孤求敗以多年實戰經驗的總結,終于悟出了“以拙勝巧,以重壓輕”的劍學至理,進而對其祖傳劍法作出了第一次實質性的突破。 之是以稱之為“實質性的突破”,是由于作為獨孤家祖傳劍法“獨孤九劍”最高境界的“無招”,在“重劍級”這一劍學新境界中已經成為了一個基礎。 

       《神雕俠侶》中對楊過初練玄鐵重劍的情形有如下一段描寫:“如此練劍數日,楊過提著重劍時手上已不如先前沉重,擊刺揮掠,漸感得心應手。同時越來越覺以前所學劍術變化太繁,花巧太多,想到獨孤求敗在青石上所留‘重劍無鋒,大巧不工’八字,其中境界,遠勝世上諸般最巧妙的劍招。他一面和神雕搏擊,一面凝思劍招的去勢回路,但覺越是平平無奇的劍招,對方越難抗禦。比如挺劍直刺,隻要勁力強猛,威力遠比玉女劍法等變幻奇妙的劍招更大。” 

        從這一段中,我們不難發現,所謂“越是平平無奇的劍招,對方越難抗禦”事實上正是“無招”境界的自然展現。以楊過這般輕狂跳脫的性格(楊過的性格極不适合練“重劍級”的劍法,獲此奇遇者若是換作少年時的郭靖的話,其所領悟的武學真谛将遠多于楊過),在知其然而不知其是以然的情況下由神雕督促着練劍,尚能在數日之中就達到了“無招”的境界。(确切地說,楊過終其一生都未能在武學理念上達到“無招”的境界,但卻在使用玄鐵劍時自然而然地把“無招”應用到實踐中去了。)這不能不說是“重劍級”劍法的奇妙之處。

木劍級:

        “重劍無鋒,大巧不工。四十歲前恃之橫行天下。”這段充滿了自信與豪氣的題字,說明在正當壯年之時創立了“重劍級”劍學的獨孤求敗在當時實已無敵于天下了。 然而學無止境,獨孤求敗開始尋求對自我的超越。“四十歲後,不滞於物,草木竹石均可為劍。”正是這段曆史的寫照。

        關于如何用木劍勝過重劍,曾經引發了楊過如下的思考:“玄鐵劍重近七十斤,這柄輕飄飄的木劍要能以輕制重,隻有兩途:一是劍法精奧,以快打慢;一是内力充沛,恃強克弱。” 這兩種方法顯然都是不對的。“劍法精奧,以快打慢”已倒退回了“利劍級”和“軟劍級”的水準,不作考慮;而“内力充沛,恃強克弱”也僅适用于“重劍級”,倘若對敵雙方都是“獨孤求敗”,用這種方法較量的話,敗的必然是那個使木劍的“獨孤求敗”,是以也就談不上什麼“木劍勝重劍”了。

        楊過顯然是照後一種方法練的,是以雖将木劍練得頗有聲色,但成就也就僅止于“重劍級”而已。這點在他與金輪法王的那場決戰中就得到了證明,當時他空手與金輪法王交戰,又要救郭襄,明顯處于下風,于是便開始後悔過于托大沒帶玄鐵劍,可見他當時的武功仍需借助玄鐵劍才能發揮出最大的威力,是以仍屬“重劍級”的範疇。

        那麼怎樣才是真正的“木劍級”呢?百年後的另一位武學大宗師張三豐給出了答案,那就是太極劍法的“以柔克剛”、“以我之鈍,擋彼之無鋒”。武當山上,張無忌以木劍迎戰方東白的倚天劍時,就充分展現了這一真髓。但張無忌本人的武學修養并沒有達到“木劍級”的水準,他和楊過一樣是在他人的指點之下将這些高深的武學理論應用到實踐中去的,是以日後會被波斯明教的“風月三使”以一些奇招怪式殺得大敗。獨孤求敗當年在海潮之中練劍,面對大海無窮無盡的威力,終于悟出了“以柔可剛”的道理。用木劍與玄鐵劍相鬥,使木劍者隻要不去直撄玄鐵劍之鋒,一味與之纏鬥。時間一長,使玄鐵劍者必然真力衰竭,此時使木劍者就必勝無疑了。此即木劍勝重劍之法。由此,獨孤求敗達到了“不滞於物,草木竹石均可為劍”的境界。

        神雕跟随獨孤求敗日久,雖知其練功之法,怎奈口不能言,隻能将楊過拉到海邊,讓他自行領悟。可惜的是楊過悟性太差,隻知一味靠蠻力與海浪拼鬥,雖将内力練強了不少,但于武學修養上,卻是一點長進也沒有,無怪他始終沒能達到“木劍級”的境界。

無劍級:

        最後,獨孤求敗提到“自此精修,漸進於無劍勝有劍之境。”這所謂的“無劍勝有劍之境”不難了解,當是指“無形劍氣”而言的了。

        劍術練到這種程度,與前面提到的幾個級别相比,作個不太确切的比喻可算是洋槍大炮相對于冷兵器之間的差別了。而且獨孤求敗的“無形劍氣”與段譽的“六脈神劍”又有所不同。其一,獨孤求敗的“無形劍氣”是自創的,與段譽學自圖譜的“六脈神劍”相比,其難易程度自不可同日而語;其二,“六脈神劍”尚有劍招,而獨孤求敗的“無形劍氣”則顯然是無招的,其高下又有分别。由此可見,獨孤求敗真正的高明之處,在于其深不可測的武學修養。如果說,《天龍八部》中那位無名老僧是金作中内力修為最為高深的人,那麼若論武學修養之最,則非獨孤求敗莫屬。楊過和令狐沖不過學了其九牛一毛,就足以獨步武林,足見所謂“嗚呼!群雄束手,長劍空利,不亦悲夫!”雲雲,絕非瞎吹牛皮之語。 

===========================================================

        利劍:接下來咱們談下程式設計,很多剛學程式設計的人會問,我學.Net好還是JAVA好?我該學PHP還是Python?學過C語言後要不要學C++?C++難學麼?學哪種程式設計語言有前途?Objective-C和C++哪個好?等等諸如此類的問題。最能展現這一境界的程式設計語言是C。其實不論你是以哪門程式設計語言開始,隻要入門了,并且能夠寫出一點像模像樣的東西,那麼你就已經達到利劍的境界了。

        軟劍:其實也就是現在的快速開發,.NET,JAVA,PHP等。而這些語言都是需要運作時和虛拟機的,不必關心底層的一些操作,是以快速開發這些語言是不二之選。學習這類的語言,重點不是學算法,而是設計模式。這點在.NET和JAVA上展現的更加明顯。但是.NET和JAVA都帶有很強烈的商業色彩。.NET是微軟在運作,JAVA現在是Oracle在運作。之前谷歌開發的Android被Oracle告上法庭,說侵犯JAVA專利。其實這是很惡心的一件事,我挺喜歡Android的,它是一個非常不錯的平台,可是活生生的被Oracle給毀了。不過正因為如此,Chrome OS才會誕生。因為谷歌開始注重版權,免得以後引起不必要的紛争。(扯遠了......)

        重劍級: C++,C++可謂博大精深,重劍無鋒,大巧不工。然而就是一點,正因為它太重,它大,太繁雜。我們學習它需要很長的時間,有的人窮極一生也隻是C++入門階段。而現在社會需要能夠快速開發一些産品出來,比如你現在有一個好的點子,你要開發出一個産品出來。你用C++開發出來的時候,興許别人用.NET或JAVA都已經開發第二版了。當然我這裡不是說.NET和JAVA比C++好,我這裡隻是為了說C++重。C++做底層開發、遊戲引擎還是有很大的市場的。像JAVA的虛拟機就是C++開發出來的。之是以把C++比作重劍,是因為它是以拙勝巧,以重壓輕。

        木劍: Python,Python的哲學是最接近于木劍的,Python何以勝C++?是因為Python支援面向過程程式設計,面向對象程式設計還支援函數式程式設計。正所謂以柔克剛就是這個道理。

        無劍:無劍的境界屬于大師級别的人物,更多的是内力的修為,無招勝有招。大凡宗師級别的人物,能夠深谙編譯原理,能夠自己設計出一門程式設計語言,能夠自己寫出一個作業系統。這樣的人便達到了程式設計的最高境界。在他們眼裡,早已忘記之前所學的任何程式設計語言,因為他們要建立一門新的語言。這就是所謂的無劍境界。

=========================================================

獨孤九劍與黑客程式設計