从“架构师书单”讲开去
【源起】
琉璃要我推薦一下給工程師們的各階段的書單,這件事被我壓在手邊好些天了已經。然后呢就看見了公司內網中孫堅的一份推薦。其實那份書單的一些信息也是有出處的(或者說有類似介紹的地方),是江南白衣的另一份架構師書單,目前已經“翻新”到2009年版和第3版了:
http://calvin.javaeye.com/blog/351007
http://calvin.javaeye.com/blog/57670
http://blog.csdn.net/calvinxiu/archive/2007/03/06/1522032.aspx
?
看來白衣兄的確是要把這份書單做到窮極。但事實上我在看到他的最初版的書單時,就提出過反對意見:
http://aimingoo.spaces.live.com/blog/cns!F9303C43D5CEAFB3!516.entry
?
換句話說,從4年前白衣兄就開始出書單,再結合他在主頁上常常提到的“種種書”,大概到現在他已經讀了許多,以至于架構純熟了吧?
但,真的如此嗎?架構師就是一本書一本書地讀出來的?
?
進一步地說,工程師也是一本書一本書讀出來的?
?
好象不太對吧?其實就我的學習歷程來說,書讀的多少,只是一個次要條件,而書讀得多透,才是充要條件。50本書翻下去,不見比專讀一本有效果。我的讀書也就向來如此,讀一本,就往深透里讀,多次地、帶批判與反省地讀。
?
【關于開發類書目的推薦】
軟件開發方面,我下過功夫的是《數據結構》、《匯編語言》、《操作系統原理》這些基礎課,應用類的書里,有《Windows核心編程》和《Windows技術內幕》等等,但應用類的書沒有太多的可推薦性。除了這些,給我最深啟發、感受一本書是:
?
《結構程序設計》
最經典的有關結構化程序設計理論的論著。O. J. 達爾、E. W. 戴克思特拉、C. A. R. 霍爾著,陳火旺等譯,1980年出版,已絕版。
對于開發人員的具體工作來說,除了各類的“手冊”,我覺得《代碼大全》是非常值得推薦的:
http://www.china-pub.com/28351
?
?
【關于架構類書目的推薦】
接下來,架構的書都有什么是可以看的呢?除了我在前面
http://aimingoo.spaces.live.com/blog/cns!F9303C43D5CEAFB3!516.entry
中提到的兩本:
http://www.china-pub.com/25013
http://www.china-pub.com/23970
之外,我唯有一本是要推薦的,就是新近的一本《架構之美》:
http://www.china-pub.com/196084
?
如果你真的想要看看“術”的問題,我可以建議你看看另一本也叫《架構之美》的書:
http://www.china-pub.com/195142
不過,我需要說明的是:可以看,不可以學。至于為什么,后面我會講到的。
?
【關于工程類書的推薦】
工程類的書呢?兩本:《人月神話》與《人件》。看懂了,工程的全局基本上就在心里了。
?
【我為什么做這樣的推薦?】
可能有同學已經注意到了,我的推薦里,關于“工程師”和“程序員”的部分還有實作,還有一些基礎,但對于架構與工程,就沒有這些類型的書了。為什么呢?
?
我這樣推薦的根本原因其實也在這個問題之中:因為,事實上,工程和架構不是“學”出來的,而是“戰”出來的。而戰局中的人,其實沒有那么多條理那么多章法。你讓風清揚到千軍萬馬里去打仗,他也是見一個砍一個,而不會使那個孤獨九劍,因為劍法還沒使出來,就被一枝飛箭給滅了,或者讓某個半死的小兵抱住了大腳。
?
劍譜里,不會講半死的小兵,也不會講飛箭。前者叫包袱,后者叫風險。無論是架構還是工程,最終決定你是否能推動它的因素,在于你處理這些包袱和風險的能力。這種東西,在書里,從來沒有。
?
所以我推薦的這兩類書,就是希望同學們從這些書中看到一個“全局的映象”。從書中看到“源由”,看到“選擇”,以及看到種種“問題”。只有從結果看到了問題,才真正地讀明白了這些書。而讀明白了,過去幾十年的工程經驗或架構思想,也就在心里面了。具體到架構與工程的做法,你再去手冊,再去看“江南白衣”兄推薦的那些書,找到解決問題的法子,就可以了。
?
我們大多數人,只是看得到事,看不到問題。所以讀書,也就只是讀文字,讀方法,而不是讀那本書的故事。
?
同樣地,我們多數人在架構和工程上,也秉承了程序員的思維,應對“種種事”,而不是“種種問題”。所以工程被做到手忙腳亂,架構被做得亂七八糟。
?
【結語】
所以當年諸葛先生揮了揮淚,把馬謖給斬了。其實沒有人知道,他或許并不心疼。
from:?http://blog.csdn.net/aimingoo/article/details/5588022
總結
以上是生活随笔為你收集整理的从“架构师书单”讲开去的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 旧文重发:做人、做事,做架构师——架构师
- 下一篇: “主要的编程范型”及其语言特性关系(多图