
一、 科学哲学和管理哲学
【1】 “程序开发心理学”(The Psychology of Computer Programming : Silver Anniversary Edition)
【2】 “系统化思维导论”(An Introduction to Systems Thinking, Silver Anniversary Edition)
【3】 “系统设计的一般原理”( General Principles of Systems Design)
【4】 “质量·软件·管理(第1卷)—— 系统思维”(Quality Software Management:Systems Thinking)
【5】 “成为技术领导者——解决问题的有机方法”(Becoming A Technical Leader:An Organic Problem-Solving Approach)
【6】 “你的灯亮着吗?-发现问题的真正所在”( Are Your Lights On? How to Figure Out What the Problem Really Is)
【7】 “程序员之道”(The Pragmatic Programmer)
【8】 “与熊共舞:软件项目风险管理” (Waltzing With Bears: Managing Risk on Software Projects)
【9】 “第五项: 学习型组织的艺术与实务”( The Fifth Discipline)
二、 计算机科学基础
【10】 “计算机程序设计艺术”(The Art of Computer Programming)
【11】 “深入理解计算机系统”(Computer Systems A Programmer's Perspective )
【12】 “算法导论”(Introduction to Algorithms, Second Edition)
【13】 “数据结构与算法分析 —— C语言描述(原书第2版) ”(Data Structure & Algorithm Analysis in C, Second Edition) 31
【14】 “自动机理论、语言和计算导论(第2版)”(Introduction to Automata Theory, Languages, and Computation(Second Edition))
【15】 “离散数学及其应用(原书第四版)”(Discrete Mathematics and Its Applications,Fourth Edition)
【16】 “编译原理”(Compilers: Principles, Techniques and Tools)
【17】 “现代操作系统”(Modern Operating System)
【18】 “计算机网络(第4版)”(Computer Networks)
【19】 “数据库系统导论(第7版)”(An Introduction to Database Systems(Seventh Edition))
三、 软件工程思想
【20】 “人件”(Peopleware : Productive Projects and Teams, 2nd Ed.)
【21】 “人件集 —— 人性化的软件开发”( The Peopleware Papers: Notes on the Human Side of Software)
【22】 “人月神话”(The Mythical Man-Month)
【23】 “软件工程 — 实践者的研究方法(原书第5版)”(Software Engineering: A Practitioner's Approach, Fifth Edition)
【24】 “敏捷软件开发-原则、模式与实践”(Agile Software Development: Principles, Patterns, and Practices)
【25】 “规划极限编程”( Planning Extreme Programming)
【26】 “RUP导论(原书第3版)”(The Rational Unified Process:An Introduction,Third Edition )
【27】 “统一软件开发过程”(The Unified Software Development Process)
四、 软件需求
【28】 “探索需求-设计前的质量”( Exploring Requirements: Quality Before Design)
【29】 “编写有效用例”(Writing Effective Use Cases )
五、 软件设计和建模
【30】 “面向对象方法原理与实践”
【31】 “面向对象软件构造(英文版.第2版)”(Object-Oriented Software Construction,Second Edition )
【32】 “面向对象分析与设计(原书第2版)”(Object-Oriented Analysis and Design with Applications,2E )
【33】 “UML面向对象设计基础”(Fundamentals of Object-Oriented Design in UML)
【34】 “UML精粹 —— 标准对象建模语言简明指南(第2版)”( UML Distilled: A Brief Guide to the Standard Object Modeling Language (2nd Edition))
【35】 “UML和模式应用(原书第2版)”(Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process, Second Edition )
【36】 “设计模式精解”(Design Patterns Explained)
【37】 “设计模式:可复用面向对象软件的基础”( Design Patterns:Elements of Reusable Object-Oriented software)
【38】 “面向模式的软件体系结构 卷1:模式系统”( Pattern-Oriented Software Architecture, Volume 1: A System of Patterns)
【39】 “软件设计的艺术”(Bringing Design to Software)
六、 程序设计(这个因人而异,术业有专攻,学学C#、JAVA也不错啊)
【40】 “编程珠矶”(Programming Pearls Second Edition )
【41】 “C程序设计语言(第2版·新版)”(The C Programming Language )
【42】 “C++ 程序设计语言(特别版)”(The C++ Programming Language, Special Edition)
【43】 “C++ Primer (3RD)”
【44】 “C++语言的设计和演化”( The Design and Evolution of C++)
【45】 “C++ 编程思想(2ND)”(Thinking in C++ Second Edition)
【46】 “Effective C++” & “More Effective C++”
【47】 “C++编程艺术 ”(The Art of C++ )
【48】 “Java 编程思想:第3版”( Thinking in Java, Third Edition)
【49】 “Effective Java”
七、 软件测试
【50】 “测试驱动开发(中文版)”(Test-driven development:by example )
【51】 “面向对象系统的测试”(Testing Object-Oriented System: Models, Patterns, and Tools)
【52】 “单元测试之道Java版 —— 使用Junit”/ “单元测试之道C#版——使用NUnit” (Pragmatic Unit Testing:In Java with JUnit / Pragmatic Unit Testing:In C# with NUnit )
八、 软件维护和重构
【53】 “重构-改善既有代码的设计”(Refactoring: Improving the Design of Existing Code)
九、 配置管理和版本控制
【54】 “版本控制之道 —— 使用CVS”(程序员三部曲第一部:Pragmatic Version Control Using CVS)
十、 领域专题(网络、平台、数据库相关) 99
【55】 “TCP/IP详解”( TCP/IP Illustracted)
【56】 “Unix网络编程”(UNIX Network Programming)
【57】 “UNIX环境高级编程”(Advanced Programming in the UNIX Environment) 102
【58】 “UNIX 编程艺术”(The Art of Unix Programming)
【59】 “数据访问模式 —— 面向对象应用中的数据库交互”
1.快速入门
〈Accelerated.C++〉2000
〈Essential C++〉2002 Lipman
两本都是开篇就讲C++/STL,绝口不提C,而且都有中文版。
2.枕头参考
〈C++.Primer.4th〉2005 Lippman,第3版有中文版,当入门书看也无不可。
〈The.C++.Programming.Language.3rd〉Bjarne Stroustrup ,简称TCPL。
3.专门书籍
STL参考:〈The.C++.Standard.Library-A.Tutorial.And.Reference〉1999
号称最好的STL参考,但我觉得很像JDK文档。
Boost 参考:〈Beyond the C++ Standard Library - An Introduction to Boost〉2005
介绍了Boost的一些重要类库,但其余的还是要看Boost自带文档。
C++ Template参考:〈C++ Templates - The Complete Guide〉2002
对template讲得相当深,无愧于The Complete Guide的书名,
ytam说可以作为MCD的前传和续集。
〈C++ Common Knowledge〉 中文版, Stephen C. Dewhurst
跑杯茶怡然的看看C++里面那些值得吹嘘的知识点是个不错的场景。
4.Effective 类
Herb Sutter, Andrei Alexandrescu合著一本:
〈C++.Coding.Standards - 101.Rules.Guidelines〉2004
Meyers的三本Effecive:
〈Effective C++ 3rd〉 2005
〈More Effective C++〉
〈Effective.STL.50.Specific.Ways.to.Improve.Your.Use.of.STL〉
〈C++ Gotchas〉2002,Stephen C. Dewhurst
对于后四本,我老觉得是在语言规范下绕来绕去,从工作角度来看是实用,从个人角度看来是无聊。
5.精力过剩类
〈Modern C++ Design - Generic Programming and Design Patterns 〉
2001 Andrei Alexandrescu ,推荐,C++里最值得一读的书。
〈C++ Template Metaprogramming Concepts,Tools and Techniques from Boost and Beyond 〉
Herb Sutter的三本Exceptional,rayman说是打击信心用的:
〈Exceptional C++ - 47 Engineering Puzzles, Programming Problems, and Solutions 〉1999
〈More xceptional C++〉2001
〈Exceptional C++ Style - 40.New.Engineering.Puzzles.Programming.Problems.and.Solutions〉2004
