IT技术博客大学习 共学习 共进步

从“架构师书单”讲开去

aimingoo的专栏 2010-05-14 13:49:58 浏览 8,842 次

【源起】

琉璃要我推荐一下给工程师们的各阶段的书单,这件事被我压在手边好些天了已经。然后呢就看见了公司内网中孙坚的一份推荐。其实那份书单的一些信息也是有出处的(或者说有类似介绍的地方),是江南白衣的另一份架构师书单,目前已经“翻新”到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

不过,我需要说明的是:可以看,不可以学。至于为什么,后面我会讲到的。

【关于工程类书的推荐】

工程类的书呢?两本:《人月神话》与《人件》。看懂了,工程的全局基本上就在心里了。

【我为什么做这样的推荐?】

可能有同学已经注意到了,我的推荐里,关于“工程师”和“程序员”的部分还有实作,还有一些基础,但对于架构与工程,就没有这些类型的书了。为什么呢?

我这样推荐的根本原因其实也在这个问题之中:因为,事实上,工程和架构不是“学”出来的,而是“战”出来的。而战局中的人,其实没有那么多条理那么多章法。你让风清扬到千军万马里去打仗,他也是见一个砍一个,而不会使那个孤独九剑,因为剑法还没使出来,就被一枝飞箭给灭了,或者让某个半死的小兵抱住了大脚。

剑谱里,不会讲半死的小兵,也不会讲飞箭。前者叫包袱,后者叫风险。无论是架构还是工程,最终决定你是否能推动它的因素,在于你处理这些包袱和风险的能力。这种东西,在书里,从来没有。

所以我推荐的这两类书,就是希望同学们从这些书中看到一个“全局的映象”。从书中看到“源由”,看到“选择”,以及看到种种“问题”。只有从结果看到了问题,才真正地读明白了这些书。而读明白了,过去几十年的工程经验或架构思想,也就在心里面了。具体到架构与工程的做法,你再去手册,再去看“江南白衣”兄推荐的那些书,找到解决问题的法子,就可以了。

我们大多数人,只是看得到事,看不到问题。所以读书,也就只是读文字,读方法,而不是读那本书的故事。

同样地,我们多数人在架构和工程上,也秉承了程序员的思维,应对“种种事”,而不是“种种问题”。所以工程被做到手忙脚乱,架构被做得乱七八糟。

【结语】

所以当年诸葛先生挥了挥泪,把马谡给斩了。其实没有人知道,他或许并不心疼。

建议继续学习

  1. 哪本书是对程序员最有影响、每个程序员都该阅读的书? (阅读 14,942)
  2. 架构师的思考 (阅读 10,403)
  3. 一路读来 – 那些曾改变我思维轨迹的书 (阅读 8,004)
  4. 架构师给程序员的一封信 (阅读 7,862)
  5. 读《做人,做事,做架构师》 (阅读 5,984)
  6. 互联网产品经理必读书目 (阅读 5,721)
  7. 给学PHP、工作中在用PHP的朋友们推荐几本书 (阅读 5,243)
  8. 《javascript权威教程》、《javascript 王者归来》等几本书 (阅读 5,182)
  9. 《Rework》摘录及感想 (阅读 4,381)
  10. 推荐几本 Unix/Linux 经典书 (阅读 4,282)