程序员必读
程序员必读书单
入门书籍
程序设计:
软件开发:
- 编程实践:程序设计实践
- 面向对象程序设计:Head First设计模式
- 重构:重构
- 软件测试:How to Break Software
- 项目管理:极客与团队
- 专业开发:程序员修炼之道:从小工到专家
- 大师之言:奇思妙想:15位计算机天才及其重大发现
- 界面设计:写给大家看的设计书
- 交互设计:通用设计法则
个人成长:
- 职业规划:软件开发者路线图
- 思维方式:程序员的思维修炼:开发认知潜能的九堂课
- 求职面试:金领简历:敲开苹果微软谷歌的大门
- 英语写作:The Only Grammar Book You’ll Ever Need
必读书籍
程序设计:
- 基础理论:深入理解计算机系统(第2版)
- 编程语言:
- 编程语言理论:程序设计语言——实践之路(第3版)
- 程序设计:计算机程序的构造与解释(第2版)
- 算法与数据结构:编程珠玑(第2版)
- 程序调试:调试九法——软硬件错误的排查之道
软件开发:
- 编程实践:代码大全(第2版)
- 面向对象程序设计:设计模式
- 重构:修改代码的艺术
- 软件测试:xUnit Test Patterns
- 项目管理:人月神话
- 专业开发:程序员职业素养
- 大师之言:编程人生:15位软件先驱访谈录
- 界面设计:认知与设计:理解UI设计准则(第2版)
- 交互设计:交互设计精髓(第3版)
个人成长:
这个阅读列表覆盖了软件开发各个关键领域的入门书籍和必读书籍,我相信它可以满足绝大多数程序员的需求,无论你是初学者,还是进阶者,都可以从中获益:
- 基础理论包括了程序员应该掌握的计算机基础知识;
- 编程语言对软件开发至关重要,我选择了C,C++,Java,C#,Python,和JavaScript这六门主流编程语言进行介绍,如果想进一步理解编程语言,可以阅读编程语言理论里的书目;
- 在理解编程语言的基础上,优秀的程序员还应该了解各种程序设计技巧,熟悉基本的算法数据结构,并且能够高效的进行程序调试。
- 良好的程序设计能力是成为优秀程序员的前提,但软件开发知识也是必不可少的:优秀的程序员应具备良好的编程实践,知道如何利用面向对象,重构,和软件测试编写可复用,可扩展,可维护的代码,并具备软件项目管理知识和专业开发素养;
- 就像我们可以从名人传记里学习名人的成功经验,程序员也可以通过追随优秀程序员的足迹使自己少走弯路。大师之言包含一系列对大师程序员/计算机科学家的访谈,任何程序员都可以从中获益良多;
- 为了打造用户满意的软件产品,程序员应当掌握一定的界面设计知识和交互设计知识(是的,这些工作应该交给UI和UX,但如果你想独自打造一个产品呢?);
- 专业程序员应当对自己进行职业规划,并熟悉程序员求职面试的流程,以便在职业道路上越走越远;
- 软件开发是一项需要不断学习的技能,学习思维方式可以有效的提升学习能力和学习效率;
- 软件开发是一项国际化的工作,为了让更多的人了解你的代码(工作),良好的英语写作能力必不可少。
摘自:http://lucida.me/blog/developer-reading-list/#language_implementation_patterns