从“架构师书单”讲开去
【源起】
琉璃要我推荐一下给工程师们的各阶段的书单,这件事被我压在手边好些天了已经。然后呢就看见了公司内网中孙坚的一份推荐。其实那份书单的一些信息也是有出处的(或者说有类似介绍的地方),是江南白衣的另一份架构师书单,目前已经“翻新”到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
不过,我需要说明的是:可以看,不可以学。至于为什么,后面我会讲到的。
【关于工程类书的推荐】
工程类的书呢?两本:《人月神话》与《人件》。看懂了,工程的全局基本上就在心里了。
【我为什么做这样的推荐?】
可能有同学已经注意到了,我的推荐里,关于“工程师”和“程序员”的部分还有实作,还有一些基础,但对于架构与工程,就没有这些类型的书了。为什么呢?
我这样推荐的根本原因其实也在这个问题之中:因为,事实上,工程和架构不是“学”出来的,而是“战”出来的。而战局中的人,其实没有那么多条理那么多章法。你让风清扬到千军万马里去打仗,他也是见一个砍一个,而不会使那个孤独九剑,因为剑法还没使出来,就被一枝飞箭给灭了,或者让某个半死的小兵抱住了大脚。
剑谱里,不会讲半死的小兵,也不会讲飞箭。前者叫包袱,后者叫风险。无论是架构还是工程,最终决定你是否能推动它的因素,在于你处理这些包袱和风险的能力。这种东西,在书里,从来没有。
所以我推荐的这两类书,就是希望同学们从这些书中看到一个“全局的映象”。从书中看到“源由”,看到“选择”,以及看到种种“问题”。只有从结果看到了问题,才真正地读明白了这些书。而读明白了,过去几十年的工程经验或架构思想,也就在心里面了。具体到架构与工程的做法,你再去手册,再去看“江南白衣”兄推荐的那些书,找到解决问题的法子,就可以了。
我们大多数人,只是看得到事,看不到问题。所以读书,也就只是读文字,读方法,而不是读那本书的故事。
同样地,我们多数人在架构和工程上,也秉承了程序员的思维,应对“种种事”,而不是“种种问题”。所以工程被做到手忙脚乱,架构被做得乱七八糟。
【结语】
所以当年诸葛先生挥了挥泪,把马谡给斩了。其实没有人知道,他或许并不心疼。
建议继续学习:
- 哪本书是对程序员最有影响、每个程序员都该阅读的书? (阅读:13774)
- 架构师的思考 (阅读:9426)
- 架构师给程序员的一封信 (阅读:6812)
- 一路读来 – 那些曾改变我思维轨迹的书 (阅读:6813)
- 读《做人,做事,做架构师》 (阅读:5235)
- 互联网产品经理必读书目 (阅读:4741)
- 给学PHP、工作中在用PHP的朋友们推荐几本书 (阅读:4254)
- 《javascript权威教程》、《javascript 王者归来》等几本书 (阅读:3683)
- 推荐几本 Unix/Linux 经典书 (阅读:3652)
- 《Rework》摘录及感想 (阅读:3420)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:aimingoo 来源: aimingoo的专栏
- 标签: 书 架构师
- 发布时间:2010-05-14 13:49:58
- [55] Oracle MTS模式下 进程地址与会话信
- [55] IOS安全–浅谈关于IOS加固的几种方法
- [53] 如何拿下简短的域名
- [53] android 开发入门
- [51] Go Reflect 性能
- [50] 图书馆的世界纪录
- [48] 读书笔记-壹百度:百度十年千倍的29条法则
- [46] 【社会化设计】自我(self)部分――欢迎区
- [38] 程序员技术练级攻略
- [32] 视觉调整-设计师 vs. 逻辑