看到博客园在轰轰烈烈地讨论程序员的基础/基本功问题,正好在devlicio.us上看到Billy McCafferty撰写的《站在巨人的肩膀上》一文,推荐一下:
Standing on the Shoulders of Giants
http://devlicio.us/blogs/billy_mccafferty/archive/2007/11/12/standing-on-the-shoulders-of-giants.aspx
文中说到,随着这个世界越来越依赖我们的实践,作为计算机行业的从业人员,对计算机行业的 science 实在有必要给与应有的尊重。行动的第一步,就是阅读一些经典的著作,掌握前人/前辈/行业大家们总结出来的知识和行之有效的实践,在日常实践中使用这些知识和实践,成为一个更好的开发人员。他将这些著作分成五大类:
基本读物(Foundational Texts) (每个开发人员都应该读的,没有例外,不管什么经验或平台。这些读物注重讨论如何编写更好,可维护的代码,向坚实的面向对象设计过渡)
- Code Complete, 2nd Ed. by Steve McConnell (【中文版】代码大全(第二版),金戈译,电子工业出版社出版)
- Refactoring by Martin Fowler (【中文版】重构:改善既有代码的设计,侯捷译,中国电力出版社出版)
- Refactoring Workbook by William Wake
- Applying UML and Patterns, 3rd Ed. by Craig Larman (【中文版】UML和模式应用:面向对象分析与设计导论,姚淑珍译,机械工业出版社出版) 以及 UML Distilled, 3rd Ed. by Martin Fowler
- Object-Oriented Design Heuristics by Arthur Riel (【中文版】OOD启思录,鲍志云译,人民邮电出版社出版)
学徒读物(Apprenticeship Texts)(这些读物帮你从代码的层次转移到从高的层次来看待实现,以完善项目整体为目的)
- The Pragmatic Programmer by Andrew Hunt (【中文版】程序员修炼之道——从小工到专家,马维达译,电子工业出版社出版)
- Patterns of Enterprise Application Architecture by Martin Fowler (【中文版】企业应用架构模式,王怀民译,机械工业出版社出版)
- Test-Driven Development by Kent Beck (【中文版】测试驱动开发,崔凯译,中国电力出版社出版)
- Refactoring to Patterns by Joshua Kerievsky (【中文版】重构与模式,杨光译,人民邮电出版社出版)
- Head First Design Patterns by the Freemans (【中文版】Head First设计模式,UMLChina译,中国电力出版社出版) 以及 Design Patterns (【中文版】设计模式:可复用面向对象软件的基础,李英军译,机械工业出版社出版)
熟练技术人员读物(Journeyman Texts)(这些读物转向“把东西整合起来”,涉及软件开发过程,并深入计算机科学后面的“science”)
- The Mythical Man-Month by Frederick Brooks (【中文版】人月神话,UMLChina译,清华大学出版社出版)
- User Stories Applied by Mike Cohn
- Agile Software Development (【中文版】敏捷软件开发:原则、模式与实践,邓辉译,清华大学出版社出版) 或者 Agile Principles, Patterns, and Practices in C# by Robert Martin
- Applying Domain-Driven Design and Patterns by Jimmy Nilsson
- Rapid Development by Steve McConnell
- Extreme Programming Explained, 2nd Ed. by Kent Beck (【中文版】解析极限编程--拥抱变化(第二版),雷剑文译,电子工业出版社出版) 以及 Agile Project Management with Scrum by Ken Schwaber (【中文版】Scrum敏捷项目管理,李国彪译,清华大学出版社出版)
- Introduction to Algorithms by Thomas Cormen
专家初始读物(The Beginnings of Mastery)(这些读物帮你磨练技术,帮助提高团队的效率)
- Domain Driven Design by Eric Evans (【中文版】领域驱动设计--软件核心复杂性应对之道,陈大峰译,清华大学出版社出版)
- Working Effectively with Legacy Code by Michael Feathers (【中文版】修改代码的艺术,刘未鹏译,人民邮电出版社出版)
- Agile Estimating and Planning by Mike Cohn (【中文版】敏捷估计与规划,宋锐译,清华大学出版社出版)
- Lean Software Development by Poppendiecks (【中文版】敏捷软件开发工具——精益开发方法,朱崇高译,清华大学出版社出版) 以及 Implementing Lean Software Development
专家读物(Mastery Texts)(虽然不是必读,但下面这些读物助你进入纯计算机科学的领域,最少也向你示范我们的工作有个坚实的定量科学的基础)
- The Art of Computer Programming, Volume 1: Fundamental Algorithms, 3rd Ed. by Donald Knuth 第 2, 3, 4 卷(以及相关著作) (【中文版】计算机程序设计艺术 1-4卷,苏运霖译,机械工业出版社出版)
- Concrete Mathematics: A Foundation for Computer Science, 2nd Ed. by Donal Knuth
打印 | 张贴于 2007-11-28 06:01:00 | Tag:.NET 书籍 业界
留言反馈
其实这种推荐表挺有价值的,但是应该更加百花齐放一些。大家都可以列一列自己的单子。
这位老兄显然就比较偏重agile。虽然agile的本质其实就是一组最佳实践的集合,但是并非所有他列出的书适用面都很广。
不少书和我们有关:
The Pragmatic Programmer、Patterns of Enterprise Application Architecture、Agile Software Development 我们最近出版了注释英文版。
Working Effectively with Legacy Code、Refactoring to Patterns和Agile Principles, Patterns, and Practices in C#我们已经出版了中文翻译版。
另外,Applying Domain-Driven Design and Patterns的中文版我们即将出版。
欢迎大家多多向我们推荐好书啊。我们最近出的《C#和.NET实战:平台、语言与框架》一书反响很好,就是思归大哥博客上最早推荐的。
另外,思归大哥参与翻译的C#圣经级著作《C#与.NET 3.0高级程序设计》也要出版了,敬请关注!
广告气息浓了点,但是感觉应该对大家有用,所以也就不管那么多了。
至少这世界上的顶尖专家, 没有一个是靠看这些书成为"专家"的; 而且甚至不怕得罪人的反过来说, 看这些书的(甚至看过这些书的, 我也是其中一员), 恐怕没有一个是专家, 未来成为真正顶尖的专家的可能性也不大.
当然不是说, 不看这些书反而能成为专家, 只是说看不看这些书和能不能成为专家, 联系微乎其微.
我觉得最后两本也不是人人都必须精读, 没有精力的情况下没有需求时, 也许我们就是在网上查查这书的目录, 但是一定心里得有这根铉; 那些阐述某方法是啥玩意的书, 用得到的就翻翻; "课外读物"嘛, 见仁见智了.
起码比高级的数学理论重要多了。
也比那些TCPIP理论有更多的应用范围。
不过我都是把英语搞定先。。。。
比尔盖茨 成功也是因为读书?
个人认为量是重要,但不是盲目的追求读的量,而是灵活运用
J
L
系统怀疑您的评论内容为广告,或者评论文字太短,请检查后重试!
wo cao