今天看到《码农》第19期里面有一篇文章《程序员必读书单1.0》,作者是——巩 朋,一位Google工程师。他的一系列总结非常到位:
优秀的程序员应该具备两方面能力:
- 良好的程序设计能力:
- 掌握常用的数据结构和算法(例如链表,栈,堆,队列,排序和散列);
- 理解计算机科学的核心概念(例如计算机系统结构、操作系统、编译原理和计算机网络);
- 熟悉至少两门以上编程语言(例如 C++,Java,C#,和 Python);
- 专业的软件开发素养:
- 具备良好的编程实践,能够编写可测试(Testable),可扩展(Extensible),可维护(Maintainable)的代码;
- 把握客户需求,按时交付客户所需要的软件产品;
- 理解现代软件开发过程中的核心概念(例如面向对象程序设计,测试驱动开发, 持续集成,和持续交付等等)。
总结他以及另外几位业界大牛的书单 (按首字母排列):
《编程人生:15位软件先驱访谈录》
《编程语言实现模式》
《编程珠玑(第2版)》
《编程珠玑(续)》
《编码:隐匿在计算机软硬件背后的语言》
《程序员的思维修炼:开发认知潜能的九堂课》
《程序员的自我修养》
《程序员面试金典(第5版)》
《程序员修炼之道:从小工到专家》
《程序员职业素养》
《代码大全(第2版)》
《代码整洁之道》
《当下的幸福》
《点石成金:访客至上的 Web 和移动可用性设计秘笈》
《调试九法——软硬件错误的排查之道》
《风格的要素》
《黑客与画家》
《极客与团队》
《计算机程序的构造与解释》
《计算机程序设计艺术》
《交互设计精髓(第3版)》
《金领简历:敲开苹果微软谷歌的大门>
《精通正则表达式》
《快速软件开发》
《领域驱动设计》
《漫步华尔街》 图形设计
《敏捷软件开发(原则模式与实践)》
《你的灯亮着吗?发现问题的真正所在》
《奇思妙想:15位计算机天才及其重大发现》
《企业应用架构模式》
《清醒思考的艺术》
《人件》
《人月神话》
《认知与设计:理解UI设计准则(第2版)》
《如何把事情做到最好》
《软件开发者路线图》
《设计模式》
《深入理解 Java 虚拟机(第 2 版)》
《实现模式》
《算法(第4版)》
《算法导论(第 3 版)》
《算法概论》
《通用设计法则》
《写给大家看的设计书》
《修改代码的艺术》
《异类:不一样的成功启示录》
《影响力》
《重构》
《重来:更为简单有效的商业思维》
《Effective Java(第2版) 》
《Head First设计模式》
《Java 并发编程实践》
《Java 程序员修炼之道》
《Java 核心技术》
《TCP/IP 详解》
《The Only Grammar Book You‘ll Ever Need》
目前自己刚刚读完《代码整洁之道》,为了能够吸收知识的同时,锻炼自己的表达和书写能力,我会用心的整理好自己的笔记,希望能够帮助自己以及喜欢Java的朋友们。