从“架构师书单”讲开去
【源起】
琉璃要我推荐一下给工程师们的各阶段的书单,这件事被我压在手边好些天了已经。然后呢就看见了公司内网中孙坚的一份推荐。其实那份书单的一些信息也是有出处的(或者说有类似介绍的地方),是江南白衣的另一份架构师书单,目前已经“翻新”到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
从“架构师书单”讲开去相关推荐
- 架构师书单 2nd Edition--转载
作者:江南白衣,原文出处: http://blog.csdn.net/calvinxiu/archive/2007/03/06/1522032.aspx,转载请保留. 为了2007年的目标,列了下面待 ...
- 架构师书单 2nd Edition
为了2007年的目标,列了下面待读或重读的书单. "其实中国程序员,现在最需要的是一张安静的书桌.",的确,中国架构师大多缺乏系统的基础知识,与其自欺欺人的宣扬" ...
- Github星标90K?京东架构师一篇讲明白百亿级并发系统架构设计
学习高并发系统设计的原因 高并发到底是什么,想必各位多多少少对此都有所了解,那我在这就不多说了.真正经历过"双11"以及"618"的小伙伴应该都知道,在大促时如 ...
- 互联网人必看的中台理论,阿里腾讯架构师用大白话讲出来了
好久不讲中台了,最近看了一个梗: 中台和这个,两者有什么关系呢? 中台这个概念就是在2015年,被马老师以及阿里团队提出来的.在参观了一家游戏公司后,回来就在阿里整个集团层面启动了 "大中台 ...
- 软件架构——架构师的职责
一.架构师定义 架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单.架构师的主要责任是提供开发人员和项目经理之间的共用沟通 ...
- mikechen详谈架构师成长之3大步骤
本文作者:陈睿|mikechen,优知学院创始人 这是架构师系列的第二篇文章 前文谈到架构师核心技能架构设计的重要性,如果你对架构师这个职位从技能的角度有比较清晰的认识,本篇文章将为你继续揭示架构师这 ...
- 架构师的第一步:学习两种抽象视角(Abstraction View)
[ IT史上最完整.最经典的软件框架开发技术宝典 (上百篇经典文章&eBooks) ] ee ...
- 【观察】华为IoT首席架构师王启军:云计算时代全栈工程师的养成
申耀的科技观察 读懂科技,赢取未来! 在王启军的公众号里,有一篇<My Team>的文章,里面记录了早年他所带团队成长的心得. 这个被他称为完美组合的团队,并不是来自大厂名企,彼时王启军给 ...
- 华为IoT首席架构师王启军:全栈工程师“养成记”
在王启军的公众号里,有一篇<My Team>的文章,里面记录了早年他所带团队成长的心得. 这个被他称为完美组合的团队,并不是来自大厂名企,彼时王启军给不起高待遇,团队核心成员中还有很多人是 ...
最新文章
- 如何开始使用PostgreSQL
- datagrid资料+ by iCeSnaker - Program rhapsody
- laravel5.6 Session
- python mk趋势检验_【C语言】MK趋势检验C语言代码
- 录制失败因为媒体服务失败_具惠善减肥失败,竟然是因为它
- opencv图像处理9-图像金字塔
- 在linux中 要删除abc目录,操作系统原理与应用(linux)A卷
- Linux模拟超级终端minicom(二)
- windows下安装ta-lib的方法
- springcloud注册demo(使⽤第⼀代Spring Cloud核⼼组件完成项⽬构建、编码及测试)
- 遇到一个日志文件变化带来的文件句柄问题
- Linux之软件安装rpm、yum/dnf、源码(安装)
- LabVIEW在快速传输速率下丢失UDP数据包
- Google翻译插件不能用解决方案
- 零基础转行网络安全可以做什么工作
- 为kubernetes(k8s)单独配置kubectl工具
- 多 “维” 优化——前端高并发策略的更深层思考
- 微信小程序提示:https://api.map.baidu.com 不在以下 request 合法域名列表中
- 【自建exe】使用Electronjs为自己写windows软件
- 网页制作之JavaScript篇
热门文章
- ubuntu php png,[工作记事]Ubuntu下PHP编译安装以及添加jepg支持
- Java8 - 避免代码阻塞的骚操作
- Apache Kafka-max.poll.interval.ms参数含义说明
- Shell - 监控某个进程的内存占用情况、主机CPU、磁盘空间等信息以及守护进程
- 交换与路由技术课程期末上机测试题目二
- Java时间对比------实际时间和设置时间对比
- 语音识别:时间序列Damerau–Levenshtein距离
- 点击列表高亮_HTML5 标签列表
- c++冒泡排序代码_C/C++基础之冒泡排序
- vue 页面A转到页面B,B页面停留在A页面的滚动位置