好的软件人员一生必看的六十本书,好歹看过一些(加粗的): 来自紫炙寒雪
一、 科学哲学和管理哲学 13
“程序开发心理学”(The Psychology of Computer Programming : Silver Anniversary Edition) 13
“系统化思维导论”(An Introduction to Systems Thinking, Silver Anniversary Edition) 14
“系统设计的一般原理”( General Principles of Systems Design) 15
“质量·软件·管理(第1卷)—— 系统思维”(Quality Software Management:Systems Thinking) 16
“成为技术领导者——解决问题的有机方法”(Becoming A Technical Leader:An Organic Problem-Solving Approach) 16
“你的灯亮着吗?-发现问题的真正所在”( Are Your Lights On? How to Figure Out What the Problem Really Is) 18
“程序员修炼之道”(The Pragmatic Programmer) 20
“与熊共舞:软件项目风险管理” (Waltzing With Bears: Managing Risk on Software Projects) 23
“第五项修炼: 学习型组织的艺术与实务”( The Fifth Discipline) 24
二、 计算机科学基础(大学时的教材) 26
“计算机程序设计艺术”(The Art of Computer Programming) 26
“深入理解计算机系统”(Computer Systems A Programmer’s Perspective ) 29
“算法导论”(Introduction to Algorithms, Second Edition) 30
“数据结构与算法分析 —— C语言描述(原书第2版) ”(Data Structure & Algorithm Analysis in C, Second Edition) 31
“自动机理论、语言和计算导论(第2版)”(Introduction to Automata Theory, Languages, and Computation(Second Edition)) 32
“离散数学及其应用(原书第四版)”(Discrete Mathematics and Its Applications,Fourth Edition) 33
“编译原理”(Compilers: Principles, Techniques and Tools) 34
“现代操作系统”(Modern Operating System) 35
“计算机网络(第4版)”(Computer Networks) 35
“数据库系统导论(第7版)”(An Introduction to Database Systems(Seventh Edition)) 36
三、 软件工程思想 37
“人件”(Peopleware : Productive Projects and Teams, 2nd Ed.) 38
“人件集 —— 人性化的软件开发”( The Peopleware Papers: Notes on the Human Side of Software) 39
“人月神话”(The Mythical Man-Month) 40
“软件工程 — 实践者的研究方法(原书第5版)”(Software Engineering: A Practitioner’s Approach, Fifth Edition) 56
“敏捷软件开发-原则、模式与实践”(Agile Software Development: Principles, Patterns, and Practices) 57
“规划极限编程”( Planning Extreme Programming) 58
“RUP导论(原书第3版)”(The Rational Unified Process:An Introduction,Third Edition ) 59
“统一软件开发过程”(The Unified Software Development Process) 60
四、 软件需求 62
“探索需求-设计前的质量”( Exploring Requirements: Quality Before Design) 63
“编写有效用例”(Writing Effective Use Cases ) 64
五、 软件设计和建模 66
“面向对象方法原理与实践” 66
“面向对象软件构造(英文版.第2版)”(Object-Oriented Software Construction,Second Edition ) 68
“面向对象分析与设计(原书第2版)”(Object-Oriented Analysis and Design with Applications,2E ) 69
“UML面向对象设计基础”(Fundamentals of Object-Oriented Design in UML) 70
“UML精粹 —— 标准对象建模语言简明指南(第2版)”( UML Distilled: A Brief Guide to the Standard Object Modeling Language (2nd Edition)) 71
“UML和模式应用(原书第2版)”(Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process, Second Edition ) 72
“设计模式精解”(Design Patterns Explained) 74
“设计模式:可复用面向对象软件的基础”( Design Patterns:Elements of Reusable Object-Oriented software) 75
“面向模式的软件体系结构 卷1:模式系统”( Pattern-Oriented Software Architecture, Volume 1: A System of Patterns) 76
“软件设计的艺术”(Bringing Design to Software) 77
六、 程序设计 79
“编程珠矶”(Programming Pearls Second Edition ) 80
“C程序设计语言(第2版·新版)”(The C Programming Language ) 81
“C++ 程序设计语言(特别版)”(The C++ Programming Language, Special Edition) 82
“C++ Primer (3RD)” 83
“C++语言的设计和演化”( The Design and Evolution of C++) 84
“C++ 编程思想(2ND)”(Thinking in C++ Second Edition) 85
“Effective C++” & “More Effective C++” 86
“C++编程艺术 ”(The Art of C++ ) 88
“Java 编程思想:第3版”( Thinking in Java, Third Edition) 89
“Effective Java” 90
七、 软件测试 91
“测试驱动开发(中文版)”(Test-driven development:by example ) 91
“面向对象系统的测试”(Testing Object-Oriented System: Models, Patterns, and Tools) 92
“单元测试之道Java版 —— 使用Junit”/ “单元测试之道C#版——使用NUnit” (Pragmatic Unit Testing:In Java with JUnit / Pragmatic Unit Testing:In C# with NUnit ) 93
八、 软件维护和重构 95
- “重构-改善既有代码的设计”(Refactoring: Improving the Design of Existing Code) 96
九、 配置管理和版本控制 97
- “版本控制之道 —— 使用CVS”(程序员修炼三部曲第一部:Pragmatic Version Control Using CVS) 97
十、 领域专题(网络、平台、数据库相关) 99
“TCP/IP详解”( TCP/IP Illustracted) 99
“Unix网络编程”(UNIX Network Programming) 100
“UNIX环境高级编程”(Advanced Programming in the UNIX Environment) 102
“UNIX 编程艺术”(The Art of Unix Programming) 103
“数据访问模式 —— 面向对象应用中的数据库交互” 103