计算机丛书封面评点
从事软件开发工作,技术的发展变化令人眼花缭乱。一本好书的作用的不言而喻的,就像一个导师,能指引你走在正确的道路上。
国外最著名的计算机类图书奖项就是Jolt大奖了,我们可以看到若干年前的其他类大奖,如开发环境,工具软件等早已随着技术的进步成为昨日记忆,但绝大多数Jolt图书都还是经典,它们揭示软件开发中内涵,是不会随着时间消逝的。
以下是我认为每个软件工程师必读的软件工程类书籍:
- 编程匠艺,代码整洁之道, 代码大全
- 设计模式,敏捷开发
- DDD,分析模式
- 重构,持续交付,重构与模式,修改代码的艺术
- 面向对象,OOAD
- PEAA,EIP
- 程序员修炼之道,Joel,高效程序员习惯,梦断代码
- 解析极限编程,TDD
还有另一类计算机类图书就是所谓的实用型的,它们离理论远一些,而更加符合我们日常开发工作需求,离我们更近一些。这个群体大的多,国内外数百家专业出版社一年要把握当前技术趋势,快速而优质的推出数以万计的技术类书籍。如果说阅读经典软件工程书籍是修炼内功的话,那么阅读实用类图书就是磨练外家功夫了,也有了所谓的门派,套路一说。
国外实用性技术书出版社有很多,今天为了扣题,我只对封面有特色的,成系列的出版社做简单介绍。
1. 首先就是大名鼎鼎的Oreilly,封面的动物各有特色,像Hadoop的大象, Python的大蟒,既是项目的吉祥物,也成为经典图书。
2. 更加实用性强的就是Manning,它的in action系列的特点是找一线的开发人员,而且多数是基于Java的知名开源项目,封面是身穿奥斯曼帝国服饰的人物,极具特色。
3. 完全由开发人员编写,连出版工艺都是完全开源化的PragProg(PragmaticProgrammer),知名度从Rails,敏捷,快速互联网应用开发等方向迅速提升,其图书封面图案似乎没有太多规律,但统一的风格布局具有极强的辨识度。
4. Apress书籍封面黄色和黑色构成很容易认出,但最经典的就是水果系列,它的橙子,猕猴桃图书是每个ios开发人员的必修课。
5. Packt图书的封面也很好辨识,一个设计略显老土的样式,封面图案是一朵漂亮盛开的鲜花。Packt是被认为相对较"水"的出版社,但我觉得世界是多样的,就和我们鼓励每个开发人员参与开源项目一样,每个人都应该有最便利的渠道出版自己的文字。图书出版正在走向电子化,一个书籍的纸质印刷成本比例会越来越小,那么就给每个人小成本出版带来可能。至于销量是市场选择结果。就和开源软件数万计,最终只有少数能脱颖而出,但成就孕育了庞大的开源社区。
封面成系列图书的优点非常明显,首先是给读者以很强的视觉冲击力,相信大家在书店或者网上书城,看到整齐划一的书脊或者封面时有强烈的翻阅其中一本的冲动。其次方便宣传,便于推广,比如Oreilly经典的动物书系列,因为早期若干本高质量书籍带来的口碑,以后同样封面风格的书籍就很容易被读者接受。第三对于作者也有驱动作用,要用心写作不能拖了后腿,MartinFlowler系列的丛书,整体质量相当高,我想就是这个原因。
今年开始,我欣喜的看到国内计算机图书出版社也有了非常有内涵的丛书系列。
电工社博文视点的Jolt经典丛书,选用一样乐器[1]。里面的文字说的好:"名作堪比名曲。就不因岁月流逝而褪色来说,与这些Jolt名作相媲美者,只有那些百年响彻,震撼古今的经典名曲。...也如百听不厌的乐曲,掩卷良久方余音绕梁,真知存心。仔细想来,软件开发与古典音乐岂非有异曲同工之妙?“
再有就是博文视点的同样经典软件工程书籍丛书,但这套封面系列为名画,更有特点,网页连接[2],微博连接[3]。分为翻译版和评注版,翻译版名画为国外名画家,而评注版为国内名画家,这个思路真是有才!
1. UNIX编程艺术,梵高, 碧绿麦田与柏树Green Wheat Field with Cypress
UNIX编程艺术是著名黑客,Eric Raymond的著作,他的大教堂和集市的开源运动的经典之作,Netscape公司高层就是受到这本书的感悟,才作出产品开源的决策,从而推动的开源运动,也影响了软件和互联网行业的发展。这本书阐述了Unix系统领域中的设计和开发哲学,不可不读。
2. 程序员修炼之道:从小工到专家
翻译版,梵高,帆船
评注版,张大千,步壑看松图
这本书是程序员必读图书!就像一个大哥哥告诉从事编程工作的你,有什么需要注意的地方,熟读领悟后可以少走很多弯路。
3. 编程匠艺,
梵高, 播种者
在很多计算机书榜单中,代码大全都是第一,但我认为编程匠艺这本书基本涵盖了其内容,而没有那么大的部头,文字可读性更好,也是我前面推荐书籍的第一名。
4. 梦断代码
莫奈, 三艘渔船
这本书是真正的实践经验,教训写就的。在我们的编程道路上,真正能参与一个很价值的项目机会并不多,阅读别人的经验之谈是很好的学习机会。
5. UML精粹
莫奈,阿尔让特伊的午后 Argenteuil, Late Afternoon
UML是10年前风靡一时的技术,出现了很多工具尝试把图形变成代码,进行设计的可视化编程。这条路已经被证明是不正确的,但UML在软件设计阶段依然是最合适的描述语言。
6. Clean Code
沈周, 庐山高图
这本是RobertMartin大叔的大作,和代码大全和编程匠艺是一个套系,但最新出版,十分推荐.
7. Java编程思想
孙安, 太行秋色
Bruce的经典Java入门书籍,不用多说了。
8. Java核心技术:卷Ⅰ:基础知识
张大千, 庐山图
Java官方书籍上册,Java程序员必读。
9. 程序设计实践
张大千,长夏江寺图
这本书名字很普通,内容也平实无华,就如同少林长拳一般打基础。我们生长在一个快速迭代开发的时代,能静心打下扎实基础,似乎越来越难?
10. C++经典图书
Effective C++
翻译版,梵高, 星空
评注版,赵孟頫, 鹊华秋色图
提高C++性能的编程技术
梵高,黄房子
深度探索C++对象模型
梵高, 露天咖啡座 Interior of the Restaurant
More Exceptional C++
梵高, 鸢尾花
More Effective C++
梵高, 茅草农舍
Exceptional C++
约翰·艾佛雷特·米莱, Chill October
Essential C++
保罗·桑德比, A Moonlight Effect
Effective STL
莫奈, 峭壁
C++ Primer
李唐, 采薇图
编程语言中,C语言就像国王,而C++就是王后,王后的力量么,玩过国际象棋的都知道。
感谢博文视点,在再次印刷经典书籍同时,还给我们带来视觉上的享受。华章的国内原创IT书系列都有一个竞技项目剪影,深入理解系列以色彩,字体和版式也有很好的辨识度。图灵近年的图书质量很高,不过我没太注意到系列图书风格。希望国内出版社今后多出好的计算机丛书。
[1]: http://www.broadview.com.cn/Book/SearchResult.aspx?type=3&text=Jolt%E5%A4%A7%E5%A5%96%E7%B2%BE%E9%80%89%E4%B8%9B%E4%B9%A6
[2]: http://www.broadview.com.cn/Book/SearchResult.aspx?type=3&text=%E4%BC%A0%E4%B8%96%E7%BB%8F%E5%85%B8%E4%B9%A6%E4%B8%9B
[3]: http://www.weibo.com/1665356464/A2zG5bdPa