程序猿必读书籍及导读指南

  近期在网上看了一个非常好的帖子《程序猿一生必读的书》(我的腾讯微博上有分享该贴子链接。有兴趣就点击进去看看吧)。该贴的第一个张图片是一个雷达图。 这张图是由ThoughtWorks(全球软件设计与定制领域的领袖级企业)的资深人士提供的。它将程序猿要读的书分为四个类别,每一个类别又分为0基础、进阶和高级读物。并用黄色三角形点出了强烈推荐阅读的书籍。

四个类别包含:

  • 编程实践(Coding Practice)
  • 设计与架构(Design & Architecture)
  • 方法学(Methodology)
  • 思想与领导力(Thought & Leadership)

程序猿必读书籍的雷达图

  相信这张图会帮助到非常多迷茫的职业人,由于好书就像明灯一样会照亮我们的方向。那些大师级的人物将他们的经验分享给我们,真的有如浴春风的感觉。有时候会非常感慨国外有那么多厉害的技术作家写了那么多好的作品,而国产技术书籍中的好书真算得上是凤毛麟角。有时候也会问自己,能不能做一个技术作家呢,我想我的修炼还远远不够。以下就把这些好书罗列出来跟大家分享。

Code Complete 《代码大全》

这里写图片描写叙述


Refactoring《重构:改善既有代码质量》

这里写图片描写叙述


Clean Code 《代码整洁之道》

这里写图片描写叙述


The Pragmatic Programmer: From Journeyman to Master 《程序猿修炼之道:从小工到专家》

这里写图片描写叙述


The Practice of Programming 《程序设计实践》

这里写图片描写叙述


Design Patterns 《设计模式》

这里写图片描写叙述


Domain-Driven Design 《领域驱动设计》

这里写图片描写叙述


The Art of UNIX Programming 《UNIX编程艺术》

这里写图片描写叙述


Practical API Design 《软件框架设计的艺术》

这里写图片描写叙述


Patterns of Enterprise Application Architecture 《企业应用架构模式》

这里写图片描写叙述


  还有非常多好书可能由于选择标准的不同在雷达图中尽管没有出现,可是仍然值得每一个程序猿去阅读。这些好书包含:

The C Programming Language 《C语言程序设计》

这里写图片描写叙述

  C语言之父Dennis Ritchie以及Brian Kernighan两位老师合著的神一样的书籍。我到如今都没有想明确为什么国内仅仅有极少数的几所大学用这本书作为教材,难道C语言的入门书中还有出其右者吗?这本书的内容无比精彩。不管是对于刚開始学习的人还是有经验的程序猿。这本书中的代码无与伦比,差点儿每一段代码都是经典。即使你还没有读过本书,可是你一定听说过一个叫Hello, world的程序。该程序就出如今这本书中。


The Mythical Man-Month 《人月神话》

这里写图片描写叙述

  这本书是号称软件project领域的第一奇书。与《人件》合称为软件project著作中的倚天剑和屠龙刀。Brooks博士为人们管理复杂项目提供了最具洞察力的见解。

既有非常多发人深省的观点,又有大量软件project的实践。其内容都是来自Brooks博士在IBM公司System/360家族和OS/360中的项目管理经验。

这本书是项目经理和系统分析师必读的不朽之作。也是流行了30多年的传奇经典。


Hackers and Painters 《黑客与画家》

这里写图片描写叙述

  该书是我近期差点儿每天都翻翻的一本书。准确的说这本书是硅谷创业之父Paul Graham的文集。主要介绍优秀程序猿(书中称之为黑客。当然这和我们尤其是国内对黑客的理解有所区别)的爱好和动机。讨论它们怎样成长以及怎样为世界做出贡献,当然也包含了对编程语言和优秀程序猿工作方法等的探讨和思考。

该书的内容不但有助于了解计算机编程的本质、互联网行业的规则,还会帮助读者了解我们这个时代,迫使读者独立思考。该书的中文版是阮一峰博士翻译的。翻译的水准和书中的旁注都相当好。


The Art of Computer Programming 《计算机程序设计艺术》

这里写图片描写叙述
这里写图片描写叙述
这里写图片描写叙述
这里写图片描写叙述


Introduction to Algorithms 《算法导论》

这里写图片描写叙述


Object-Oriented Analysis and Design with Applications 《面向对象分析与设计》

这里写图片描写叙述


  除此之外,由于自己做了非常长时间的Java程序猿,有一些Java方面的好书能够推荐给大家。

Thinking in Java 《Java编程思想》

这里写图片描写叙述

Bruce Eckel的书对于学习怎样在Java语言环境中使用好面向对象技术极事实上用。本书中的非常多代码都变成了招聘Java程序猿的面试题,由于那些代码都极具參考价值。Eckel本人具有多种语言的大量经验。还实用面向对象方式进行思考的扎实技能,是C++标准委员会有表决权的委员,他写的《Thinking in C++》一书也是多次获奖的著作。

本书将交给你非常多实用的Java开发技术。


Effective Java

这里写图片描写叙述

本书是理解优秀 Java 程序设计原则的最佳书籍。

连Java之父James Gosling也称赞本书为他非常须要的书籍。本书解说了78条原则,每一条都非常精彩,比如第8条和第9条中关于重写equals()方法的解说、第18条用接口替代抽象类、第57条至第65条关于异常使用的原则。一切都无比精彩。

Bloch是Sun公司Java平台库的架构师,所以他透彻地了解这门语言,并且他本人也编写了Java语言中大量实用的API。

此书必读!


《Java与模式》

这里写图片描写叙述


The Well-Grounded Java Developer 《Java程序猿修炼之道》

这里写图片描写叙述


POJOs in Action

这里写图片描写叙述


  事实上国产的Java书籍里面也有部分优秀的书籍,尽管国产书的质量整体偏低,可是近期几年还是有非常多有责任感的技术作家(他们非常多人同一时候也是一线程序猿或架构师)写了不少好书。

《设计模式之禅》

这里写图片描写叙述


《编写高质量代码:改善Java程序的151个建议》

这里写图片描写叙述


《Spring 3.x企业应用开发实战》

这里写图片描写叙述


《Tomcat与Java Web开发技术具体解释》

这里写图片描写叙述


《疯狂Java:突破程序猿基本功能的16课》

这里写图片描写叙述


  假设你曾经不是计算机相关专业又想转型从事软件行业。那么我推荐先看一些专业气质养成类书籍。当然最入的书就是《计算机导论》、《计算机文化》之类的书,也能够看看《计算机科学概论》或者是《计算机专业英语》,建议看原版的,一方面对整个行业有一个全面的了解。还有一方面锻炼一下自己的英语水平。

不管怎样。我认为程序猿还是应该让英语成为自己的工作语言。

Computer Concepts 《计算机文化》

这里写图片描写叙述


Computer Science Illuminated 《计算机科学概论》

这里写图片描写叙述


Computing Essentials 《计算机专业英语》

这里写图片描写叙述


  假设你希望从零基础開始做一个Java程序猿,那么我建议的这些书的阅读顺序是这种(每项读一本就OK了):
1. Computer Concepts / Computer Science Illuminated
2. The C Programming Language
3. Core Java (Vol. 1 & Vol. 2) / Introduction to Java Programming
4. MySQL Crash Course / 深入浅出MySQL / Sams Teach Yourself SQL in 10 Minutes
5. Thinking in Java / Effective Java / 编写高质量代码:改善Java程序的151个建议
6. Servlet & JSP: A Tutorial / Head First Servlets & JSP
7. Java与模式 / Design Patterns Explained / 设计模式之禅
8. 精通Hibernate / Java Persistence with Hibernate
9. Spring in Action / Spring企业应用开发实战 / Spring技术内幕
10. Clean Code / Refactoring Impoving the Design of Existing Code
11. The Well-Grounded Java Developer
12. Algorithms / Data Structures and Algorithm Analysis in Java
13. POJOs in Action / Core J2EE Patterns: Best Practices and Design Strategies
14. Java Performance
15. Software Engineering A Practitioner’s Approach

说明:原来打算把读书心得写在这篇文章中,后来想想认为内容太多。准备每本书的读书心得单独成文。欢迎大家分享交流。

原文地址:https://www.cnblogs.com/gccbuaa/p/7130622.html