- 你必須知道的.NET(第2版)
- 王濤
- 2157字
- 2018-12-27 13:41:44
推薦序一
算起來,這是我第三次動筆為這本書寫推薦。一開始以為寫一個推薦非常容易,但是實際動筆才發現比我想象的要難很多。仿佛我們在準備開發一個系統的時候,實際開發的人都是準備項目可能是困難重重,而旁的人卻經常一臉不屑而認為很好完成。牛和雞的故事(注1)一次又一次地上演,只不過這一次,我又當牛,又當了雞。以前也以為寫一本書很容易,這主要是源自我經常看到書店里琳瑯滿目的技術書籍,標榜以“N天搞定×××”、“×××從入門到精通”以及“玩轉×××”,但是每每翻開一看幾乎都是官方教材的中文翻譯版,或者是某某工作室中十幾位同學不斷復制粘貼的產物。所以便認為技術類的書籍基本上就是國外資料翻譯加國內同行“借鑒”。而鮮有的幾本精品往往也淹沒在成千上萬的圖書海洋中,想要找到它們除了自己有孫猴子般火眼金睛的視力和如來佛祖般寬廣的人脈推薦,還要有巴菲特一樣足夠資金支持——在國內圖書市場淘到一本好的原創技術書籍,難度不比在潘家園搞到一個宣德爐低。這也是為什么很多人希望國內的技術高人能夠肩負起培養下一代的重任,為像我這樣的后生多多推薦好的技術書籍的原因。畢竟能夠花大筆銀子在潘家園買宣德爐的人并不多。
其實我無論如何也沒想到王濤會邀請我為他的這部力作寫序,而且還是推薦序。一來本人覺得自己能力水平差得太遠,自己還需要身邊牛人幫我辨識高質量的作品。二來自己在.NET的圈子里著實算是個新人。雖然近幾年也陸續認識了一些高手,但是大都屬于對他們高山仰止的狀態,所謂身不能至心向往之——這種水平又怎能為別人推薦呢?所以最開始接到王濤的邀請我自然表示力不能及而且層次有限。不過最終還是勉強答應了下來,一方面是整日和王濤胡聊亂侃,不能太折了兄弟的面子;二來,也是主要打動我的原因,我深知這幾年他傾注在這部書上的心血。與其讓這本好書淹沒在一排排“贗品”之中,不如我暫且做個浮標,雖然不及燈塔那么耀眼和挺拔,但是也算增大了它的影響范圍,讓作為讀者的我們更容易看到和知道,而不會被那些粗制濫造的東西蒙蔽了雙眼走錯了路。
我不清楚翻開這本書的你是否看過了《你必須知道的.NET》第1版。如果你認為這本書只是上一本書的添頭或者修改那就大錯特錯了。現在音樂界流行老歌翻唱,幾十年前的歌曲,隨便換個編曲就可以再賣一次;電影界也是動不動就來個什么什么懷舊版,什么什么經典再映。歸根到底就是再從我們這些勞苦大眾兜里套點銀子出來。但是這本書卻不是前一本的所謂“新歌加精選”。雖然我只是看到這部書的兩個樣章,但是還要驚嘆于這本書所涉及的內容之廣、見解之深,以至于我看完了樣章之后便向王濤提出了個修改意見:一定要加上兩個副標題“.NET程序員面試寶典”和“.NET應用架構指南”。因為在這本書當中,我看到的不僅僅是和第1版一樣對于.NET底層深入的研究和完整的介紹,還能夠看到作為一個在.NET陣營打拼了多年的架構師對于系統架構、設計模式、面向對象等諸多方面的經驗、體會與探索。關于某個具體的技術或工具的書籍在國內可能非常普遍,譬如介紹ASP.NET的圖書可能不下幾十種,但是從作者本人經驗出發介紹軟件設計架構的書籍便是鳳毛麟角,偶有幾本也是國外圖書的翻譯版本或者影印版本。而這本書在設計方面的部分我認為是其最大的亮點,沒有照本宣科的介紹,沒有千篇一律的觀點,所有內容都是作者本人的經驗分享——有成功的經驗,也有失敗的經驗。這其中可能不免有些內容不盡完美,有些觀點尚需推敲,但這正是我們技術人員所希望看到的:相互交流,集思廣益,共同進步。而不是像國內的一些博客站點那樣,一遇到觀點不同就開始在評論中挖苦鄙視甚至破口大罵。雖然說我們沒必要像職業書評家那樣,承擔著指導讀者咒罵作者的使命。所以這樣一部嘔心瀝血的作品,又怎能不讓我為之吐血推薦呢?
記得有一次和王濤聊天的時候,我提到了“指月之指”的故事(注2)。如果說像我這樣水平的人寫出來的書只能是傳遞知識的話,那么這本《你必須知道的.NET(第2版)》就是在傳遞智慧。知識只是關于知道和不知道,而智慧是無法傳授的,只能自己通過實踐的積累慢慢感悟。雖然說和“指月之指”的典故一樣,這本書不可能就是軟件設計本身,但是正如那指向明月的手指一樣,能夠讓我們可以沿著它的方向去尋找軟件設計的精髓。
寫到這里,突然心中一凜,這篇推薦序寫著寫著更多的都是我自己的心情和感受。難道在不經意間我也成了之前所說的“書評家”對這本書開始評頭論足起來。還是到此停筆吧,上面的話權當一個瘋子在被項目折磨之后的自言自語,書的好壞最終還是要看書的您自己去品評。至少我不想成為《伊索寓言》中所寫的那個蒼蠅,坐在車軸上嗡嗡大叫:“車的開動,全都是我的功勞”。
徐子巖
2011年6月
推薦人簡介
徐子巖,北京工業大學計算機學院畢業。現就職于宇思信德科技(北京)有限公司.NET開發部架構師、Azure專家、微軟Windows Azure MVP。精通.NET平臺多項技術,包括ASP.NET MVC、WCF等。目前專注于微軟Windows Azure云計算平臺的研究、咨詢、設計和開發工作。
注1:敏捷開發中一個著名的故事,用來說明項目會議是否需要項目組之外的人員參與發言。例如在準備牛排加煎蛋的早餐這個項目中,牛由于是貢獻者(貢獻自己的肉)所以它的發言是對項目有實際意義的,而雞只作為參與者(下個蛋完事)所以會提出很多對項目進展不負責任的觀點。
注2:出自《楞伽經》卷四,“如愚見指月,觀指不觀月;計著名字者,不見我真實。”
- 前端架構:從入門到微前端
- Haxe Game Development Essentials
- Mathematica Data Analysis
- iOS自動化測試實戰:基于Appium、Python與Pytest
- Instant PHP Web Scraping
- Swift 4從零到精通iOS開發
- C++反匯編與逆向分析技術揭秘(第2版)
- Learning AWS
- Mockito Essentials
- Getting Started with Python
- C++程序設計教程(第2版)
- OpenCV with Python Blueprints
- Spring Boot從入門到實戰
- PHP+MySQL Web應用開發教程
- Java EE輕量級解決方案:S2SH