有一种道理叫“实践”
《道法自然——面向對象實踐指南》一書10月即可問世。網上關心這本書的朋友不少,我在這里也自賣自夸一下,貼兩篇我自己寫的評論文章吧。
??????? 有一種道理叫“實踐”
???????
????????????? 王詠剛
???????????? 2004年7月
《道法自然——面向對象實踐指南》是一本關于“實踐”的書。作為主創者之一,我很想寫一寫這本書問世的經過——盡管這多少有些自賣自夸的嫌疑,很容易讓人想起張藝謀托甘露拍攝的《緣起》和《如花》。
我覺得,面向對象的世界就像一個充滿刺激的冒險類游戲,其中最富有挑戰性的一道謎題,大概就是理論和實踐如何結合的問題了。
和許多工作在第一線的普通程序員一樣,我個人的面向對象之旅也是從實踐開始的。在借助C++、Java這樣的面向對象語言邁出了第一步后,我很快就對自己駕馭面向對象技術的能力產生了懷疑:自己精心編寫的C++和Java程序竟然和以前的C或Pascal程序沒有太大的區別,對軟件的質量改進也起不到顯著的作用;當時的我就像一個剛剛換裝了第三代戰機卻又只會目視瞄準、射擊的飛行員,茫然而不知所措。
幸好,2000年以后在大陸興起的面向對象理論熱潮一下子點醒了我:理論!沒有理論指導的實踐終歸是蠻干!我開始拼命學習設計模式、分析模型、用例規則和架構知識,還不忘了在飯前默念Booch、Vlissides、Jacobson、Lieberherr等面向對象大師們的名字……但這一次我跌得更慘:在嚴酷的現實面前,我才發現理論和現實間的距離竟那么遙遠;摸不到門徑、四處碰壁的我簡直就是一個揣了本《大學物理》就妄想造出原子彈的恐怖分子,要多可笑有多可笑。
正因為如此,我才患上了可怕的“面向對象綜合癥”:一邊在口頭上大肆鼓吹面向對象技術的優越性,一邊在實際工作里對所有和面向對象沾邊兒的東西敬而遠之;一邊抱怨理論書籍太過玄虛,一邊又神經質似地逢人便問:“您聽說過一本面向對象的‘實踐指南’嗎?”
2003年7月,王詠武(我們是兄弟,他在面向對象領域的積累頗深,這兩點都確鑿無疑)最早提出了這本書的構思。他在一個嵌入式軟件的研發項目中,成功地用面向對象的理論知識解決了許多非常具體的實踐問題,于是就有了把相關經驗記錄下來的想法。當時,我幾乎立即舉雙手贊成這一計劃,并竭力勸說他把計劃的目標調整得更高、更遠些,最好能得到一本用實戰案例詳細論述面向對象理論和技術如何應用的指南,以根治我和其他程序員的“面向對象綜合癥”。不過,對于面向對象理論和實踐的結合問題,王詠武也有他獨到的認識。他更進一步地指出:這一計劃的結果應該是一本有用并且好用的參考書;在初學者攻讀面向對象的理論著作時,它可以起到潤滑劑或指南針的功效。換句話說,古人讀《四書》時尚且要記誦朱熹老先生的《集注》,為什么我們在學習面向對象的時候,就不能有一本明理釋義的參考讀物呢?
本著上述目標,我們開始了技術寫作的艱辛歷程。說將近一年(2003年8月~2004年5月)的寫作過程“艱辛”,其實一點兒也不過分,從本書書名的幾次變更中,我們就能窺知一二。
起初,王詠武為本書設計的題目是《面向對象的辯證法》。因為在他的經驗里,任何成功的面向對象開發實踐都是一次又一次權衡與折中的結果。優秀的面向對象設計師善于處理系統開發中遇到的各種矛盾,善于把需求和成本、分散和集中、數據和操作、效率和質量、優雅和實用等經常發生齟齬乃至抵觸的對立統一體協調到最佳的平衡點。因此,成功的面向對象實踐都是成功的辨證過程,這毫無疑問應該是本書的重點。我當然同意他的觀點,但我實在不喜歡這個政治氣息十足的書名——它容易讓人想起主席的《矛盾論》和《實踐論》。最終,我們放棄了這個題目,但全書仍然保持了重視辨證的既定風格。最明顯的例子是,本書每一章的標題里都包含了一組對立統一的概念。
接下來,我提出了《道法自然》這個略有些魏晉風尚的書名。當時,我在業余時間里正像著了魔一樣鉆研《老子》的要義,每天只知道把通行本、帛書本和楚簡本的《老子》比較來、比較去。結果,一提起面向對象的理論和實踐,我首先想到的就是老子所說的“道”和“自然”:如果“理論”是形而上學的“道”,而“實踐”是無處不在的“自然”,那么,“人法地,地法天,天法道,道法自然”這句名言豈不就是面向對象實踐原理的最好闡釋嗎?——直到今天我才知道,當時的我是多么的虛妄:兩千多年前的老子自有他的見解,又怎么會為21世紀的軟件開發操閑心呢?像我這樣妄解古人的文意,說不定哪天就會受到懲罰呢!
隨著寫作的進展,我們很快就對《道法自然》這個抽象的書名失去了信心。我們發現,寫作中最大的障礙其實還是如何權衡折中的問題。這一次的矛盾來自全書的技術定位:我們在最初撰寫的幾個章節中,總想把相關的知識點盡量講深、講透,并試圖涵蓋已知的所有相關技術;但我們不久就意識到,這種求深、求全的做法絕不會有什么好結果,它要么讓全書厚重不堪,難以卒讀,要么使所有論點都含混不清,特色全無——我們必須在深奧、全面和淺易之間尋求最佳的平衡。結果,我們決定保持本書“初學者實踐指南”的定位,舍棄所有容易讓初學者產生混淆的名詞術語,刪去大多數繁難的理論和技術闡釋。為了適應這一變化,我們也毅然把不那么實在的《道法自然》換成了實實在在的《面向對象實踐指南》。
不過,到了本書付梓的時候,出版社的編輯們又覺得《面向對象實踐指南》這個名字缺乏新意,在各種媒體肆無忌憚地以視覺或聽覺刺激吸引眼球的時代里,它恐怕無法引起讀者足夠的重視。于是乎,在權衡了各種利弊和矛盾之后,我們和編輯們都一致認為,把抽象和具象兩個標題結合起來,也許才是最好的選擇,這就是《道法自然——面向對象實踐指南》這個書名的由來了。
所以,即便是書名的確定,創作者也需要應對各種復雜甚至是痛苦的抉擇,比選書名更復雜、更系統的面向對象軟件開發就更是如此了。回顧整個寫作過程,我們的經歷和以往的軟件開發體驗沒什么兩樣,都充滿了挑戰、樂趣、痛苦和刺激。這些經歷反過來又增強了我們對本書的信心:除了貼近實踐、面向實踐以外,它沒有更多的亮點,但那些初涉面向對象世界的探險者們,不正在尋找這樣一本用“實踐”來擺事實、講道理的指南讀物嗎?
?
轉載于:https://www.cnblogs.com/xiaomaohai/archive/2004/09/28/6157252.html
總結
以上是生活随笔為你收集整理的有一种道理叫“实践”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 毕业以来,今天第一次领到工资,好兴奋哪
- 下一篇: 提防iostream使用中的一个“陷阱”