經(jīng)常聽到有人這樣評論漢語詩歌——“我覺得格律詩才叫詩,現(xiàn)代詩根本不是,只是分行寫的句子!”,這種論調(diào)之所以常見,原因有兩個:
其一是因為當(dāng)代人能讀到的格律詩,絕大部分是經(jīng)過1000多年文人墨客長期篩選下來的精品,是符合漢語特點的形式和意象的運用,如果他們有幸可以翻閱一下各級黨委領(lǐng)導(dǎo)出版的個人詩詞集,也可以領(lǐng)略一下格律詩可以寫成多爛;
其二可以歸結(jié)為當(dāng)代語文教育的失敗,這個原因與為什么無厘頭網(wǎng)路語言可以迅速傳播一樣,本質(zhì)上是語文審美能力的缺失。現(xiàn)代漢語詩歌,自五四運動始,發(fā)展時間還很短,它是放寬形式,而增強內(nèi)涵的一種文學(xué)形式,期間有不少失敗的實驗性作品,如今看胡適寫的白話詩,你肯定噴飯;但是100多年來,現(xiàn)代漢語詩歌的天才作品也是層出不窮的,如從3歲就開始寫詩的顧城,如果你覺得現(xiàn)代詩不值一看,那說明你還不能夠欣賞詩歌深層次的意象,你還不足夠敏感,必須以來一些固定的格式和老套的意象來帶出對詩歌美的體現(xiàn)。
好了,這個問題,我不打算再展開論述,有興趣的讀者,可以繼續(xù)看余光中先生對古典詩歌與現(xiàn)代詩歌異同的分析。本文,我要引申說的,乃是我的本行——編程。
程序設(shè)計,按照經(jīng)典的定義就是“數(shù)據(jù)結(jié)構(gòu)+算法”,這是很早期程序規(guī)模小,難度大的階段的定義。隨著編程的代碼量,復(fù)雜度不斷提升怎么組織程序本身的結(jié)構(gòu)問題也顯得非常重要,所以定義應(yīng)該修正為“框架+數(shù)據(jù)結(jié)構(gòu)+算法”??蚣芗碏ramework,規(guī)定了解決某類問題的程序的宏觀結(jié)構(gòu),程序員剩下的工作就是往里面填具體的代碼,它就如同格律詩里面的五言、七律、平仄對仗、押韻等規(guī)定,只要Framework做得好,寫出來的代碼大體不會太差,所以一個及格的程序員,應(yīng)該懂得對不同問題選擇一個合適的Framework,如果已經(jīng)可以熟練運用Framework,那他/她可以稱得上古典程序員。
那Framework誰來寫?當(dāng)然是由最為高級的程序員。中學(xué)生編程比賽,考核的是“數(shù)據(jù)結(jié)構(gòu)+算法”的基本功,而高級程序員的比拼,看得是設(shè)計Framework的能力,而這個設(shè)計工作,是沒有定式可言,要求設(shè)計者根據(jù)問題領(lǐng)域來深入研究其邏輯內(nèi)涵,抽象,簡化,進而設(shè)計出符合問題領(lǐng)域的形式語言結(jié)構(gòu)。這種設(shè)計工作,就如同現(xiàn)代詩寫作,是對語言形式美的一種探索,換而言之,它的失敗率肯定遠遠高于選擇一個成熟的Framework往里面塞一點代碼。
有些并不成功的程序代碼,其實是因為設(shè)計者在探索新的Framework,有時候我讀到這些高手失敗的作品,往往也如讀詩一般,可以看到其探索的思路,頗有點啟發(fā)的。就如同一些失敗的現(xiàn)代詩創(chuàng)作,往往能夠看到作者試錯的嘗試,窮盡現(xiàn)代漢語表達能力的努力。
所以,最為高級的程序員寫現(xiàn)代詩,他們在給業(yè)界不斷探索新的Framework。