10本程序员必看书籍,强烈推荐

前言

      每当我们在公司某某技术大会上,听公司大牛恰恰而谈起很多你不懂的技术时候,你感觉自己就是一个井底之蛙。很多时候你会马上想,我需要增加自己的知识面,需要提高技术,需要买书,提高增加阅读量。于是就上网搜搜搜,某东,某宝买买买。其实一个人一生是有限的,除了工作,睡觉,剩下给我们学习的时间并不多,所以如何选择一本好书,如何有效的提高阅读效率,就显得很重要了。

      经常有网友要我推荐一些程序员方面的书籍,这次博主就整理下网上现有的推荐,再加上自己这几年看的书籍,统一给大家来介绍下。

     ps:文章底部有博主发起的《程序员电子书互惠组》计划,有兴趣可以看看。

正文

第一名:《代码大全(第二版)》

11.png

第2版的《代码大全》是著名IT畅销书作者史蒂夫·迈克康奈尔11年前的经典著作的全新演绎:第2版不是第一版的简单修订增补,而是完全进行了重写;增加了很多与时俱进的内容。这也是一本完整的软件构建手册,涵盖了软件构建过程中的所有细节。它从软件质量和编程思想等方面论述了软件构建的各个问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、通用的概念,还含有丰富而典型的程序示例。这本书中所论述的技术不仅填补了初级与高级编程技术之间的空白,而且也为程序员们提供了一个有关编程技巧的信息来源。这本书对经验丰富的程序员、技术带头人、自学的程序员及几乎不懂太多编程技巧的学生们都是大有裨益的。可以说,无论是什么背景的读者,阅读这本书都有助于在更短的时间内、更容易地写出更好的程序。

第二名:《程序员修炼之道》

22.png

《程序员修炼之道》由一系列的独立的部分组成,涵盖的主题从个人责任、职业发展,直到用于使代码保持灵活、并且易于改编和复用的各种架构技术。利用许多富有娱乐性的奇闻轶事、有思想性的例子以及有趣的类比,全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱。

尽管这本书写于1999年,但是它的概念是我们以一种务实的态度去开发复杂系统的基础。程序员也是工匠,他们被训练使用一组特定的工具(编辑器,对象管理,版本跟踪器)生成某种可在一定环境中(硬件组件上的操作系统)工作的产品(程序)。

第三名:《计算机程序的构造和解释》

33.png

以一种对解决问题和编程技术分析和严谨的态度,这本书面向于工程。这本书进一步解释了4个最著名的编程语言范式——命令式编程,面向对象编程,基于逻辑编程和应用性编程。

《计算机程序的构造和解释(原书第2版)》1984年出版,成型于美国麻省理工学院(MIT)多年使用的一本教材,1996年修订为第2版。在过去的二十多年里,《计算机程序的构造和解释(原书第2版)》对于计算机科学的教育计划产生了深刻的影响。第2版中大部分重要程序设计系统都重新修改并做过测试,包括各种解释器和编译器。作者根据其后十余年的教学实践,还对其他许多细节做了相应的修改。

第四名:《C程序设计语言》

44.png

在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用广泛。本书原著即为C语言的设计者之一Dennis M.Ritchie和著名计算机科学家Brian W.Kernighan合著的一本介绍C语言的权威经典著作。

我们现在见到的大量论述C语言程序设计的教材和专著均以此书为蓝本。人们熟知的“hello,World"程序就是由本书首次引入的,现在,这一程序已经成为众多程序设计语言入门的第一课。对于计算机从业人员来说,《C程序设计语言》是一本必读的程序设计语 言方面的参考书。

第五名:《算法导论》

55.png

这本书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。

涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。书中专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论。此书还介绍了对强连通子图算法正确性的证明,对哈密顿回路和子集求和问题的NP完全性的证明等内容。

第六名:《重构:改善既有代码的设计》

66.png

Martin Fowler写的《重构Refactoring》主要关于改进现有代码的设计。这是一个改变软件系统而不改变代码的外部行为,却能提高它内部结构的过程。

《重构:改善既有代码的设计》(中文版)的核心是一份完整的重构名录(catalog of refactoring),其中每一项都介绍一种经过实证的代码变换手法(code transformation)的动机和技术。某些项目如Extract Method和Move Field看起来可能很浅显,但不要小看它们,因为理解这类技术正是能否顺利进行重构的关键。

第七名:《人月神话》

77.png

《人月神话》探索了达成一致性的困难和解决的方法,并探讨了软件工程管理的其他方面。在《人月神话(英文版)》中,既有很多发人深省的观点,又有大量软件工程的实践,为每个复杂项目的管理者给出了自己的真知灼见大型编程项目深受由于人力划分产生的管理问题的困扰,保持产品本身的概念完整性是一个至关重要的需求。《人月神话(英文版)》适合任何软件开发行业的从业人员阅读,对软件开发人员、软件项目经理、系统分析师更是必读之作。
 

第八名:中文版《设计模式》

88.png

这本书结合设计实作例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。书中分类描述了一组设计良好、表达清楚的软件设计模式,这些模式在实用环境下特别有用。此书适合大学计算机专业的学生、研究生及相关人员参考。

第九名: 《计算机程序设计艺术 (第一卷)》

99.png

这又是一部经典之作。由著名的计算机科学家教授Donald Knuth编著,并得到行业内众多顶尖程序员的一致好评。比尔盖茨曾经说过:如果你完完整整读完了《计算机程序设计艺术》,请立刻给我发一份简历。可知这本书是多么的经典。

本书第1卷首先介绍编程的基本概念和技术,然后详细讲解信息结构方面的内容,包括信息在计算机内部的表示方法、数据元素之间的结构关系,以及有效的信息处理方法。此外,书中还描述了编程在模拟、数值方法、符号计算、软件与系统设计等方面的初级应用。

第10名:《编译原理》

100.png

编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。 编译原理是计算机专业设置的一门重要的专业课程。虽然只有少数人从事编译方面的工作,但是这门课在理论、技术、方法上都对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力。

 总结

个人认为,作为程序员不要吝啬对自己的投资,只有自己强大了才能更好的升职加薪。每年都要买几本书投资一下,未来的回报会超出你的想象的。曾经国外有个机构做过一份统计,每天坚持看10分钟的书,我们一年可以看10本书。可能看起来很多人觉得10本书很少,但是又有多少人能够真正坚持下去呢。


关于电子书,博主想说,经典的书才值的购买实体书,但绝大部分书只要电子书就可以了,你也可以先通过查看电子书,如果感觉这书不错,再去购买实体书,这样就不会造成浪费。

博主7年时间收集了300多本java电子书籍,有些电子书是博主花钱买的。

这里博主向大家提供一项电子书知识内容付费管理的服务,我花时间、精力、金钱来帮你收集、整理、归类关于Java方面的电子书,并持续2年如此。

而你只需花一顿饭的钱(20元)即可获取未来2年博主提供的电子书服务支持

且不说那些博主花钱买的电子书,当当其他300多份电子书,你自己收集的话需要投入的时间精力我认为早就超过了这份价值。而且我会不定期更新自己收集或者购买的电子书,更新内容会显示在图书更新.txt文档里面。

你只需记住网盘地址,不定期上来查看一下即可了解。支持博主服务的人越多,博主后期越能购买好的相关书籍,也能更好的回馈大家。不管你是java开发新手,还是有一定经验的程序员,不管你是前端人员,还是数据库管理人员,只要是程序员,个人感觉越早拥有这份电子书单越划算,你花一顿饭的钱,我为你提供节省时间的一站式服务,你最终收获的电子书可能超过400本,你觉得是赚还是不赚呢?

加入《程序员电子书互惠组》一起互惠互利,这只是开始。

随着我电子书收集归类越来越多,我会适当提高这个价格的,已购买的则完全享有这些服务,这份所有java程序员都需要的电子书,你值的拥有!
20元即可拥有所有的电子书(目前324本),后续还会陆续添加,超过400本就涨一次价~

本文最下面可以看到近期最新更新记录,博主已经很努力的收集了。

注意~博主提供的是可持续性的服务,目前电子书已经积累到300多本了,已购买的朋友后续想看什么书可以微信公众号后台告诉我,我会记录排序,优先级高的优先收集,这份服务你可满意。

支持博主这项服务的,可以直接扫上面二维码或者加我微信(ye13503027342)发红包20元,然后我就给你电子书网盘地址,网盘地址请自己保存好哦,因为后续还会持续更新电子书,每次更新内容可以看本文下面的更新目录


最新电子书更新目录

**2019/12/01 已更新324 本**
02_Spring相关:
Spring MVC学习指南_第2版
27_架构相关:
大型网站技术架构:核心原理与案例分析_李智慧
30_大数据相关
Hadoop权威指南(第四版)
33_Docker相关:
Docker开发指南.pdf
**2019/8/23 已更新320 本**
03_SpringBoot相关:
《Spring Boot 2参考手册中文文档》
《Spring Boot 2精髓带书签目录高清版》
04_SpringCloud相关:
《疯狂Spring Cloud微服务架构实战》
《Spring Cloud Finchley.RELEASE参考手册 中文文档》
07_Hibernate相关:
《Hibernate实战(第2版-人民邮电出版社)》
《HIBERNATE逍遥游记》
14_设计模式相关:
《设计模式之禅(第2版)》
15_Nginx相关:
《实战Nginx:取代Apache的高性能Web服务器 张宴.扫描版》
27_架构相关:
《系统架构:复杂系统的产品设计与开发》
30_大数据相关:
《HBase实战》
《Spark快速数据处理》
31_Java_EE相关:
《servlet和jsp学习指南》
《解密搜索引擎技术实战Java精华版》
《深入分析Java Web技术内幕》
《Activiti权威指南》
《Java.Web开发学习手册-明日科技》
《RESTful Web Services Cookbook 中文版_12879413》
《Web安全开发指南》
《Web应用安全权威指南》
33_Docker相关:
《Docker+容器与容器云(第2版)
**2019/3/2 已更新300本**
JAVAEE相关:
《Java EE互联网轻量级框架整合开发 SSM框架(Spring MVC+Spring+MyBatis)和Redis实现》
《高性能响应式Web开发实战》
微信相关:
《从零开始学微信小程序开发》
《微信小程序开发入门与实践》
《微信小程序入门指南》
《小程序 巧应用-微信小程序开发实战》
大数据相关:
《大数据时代:生活、工作与思维的大变革》
《大数据之路:阿里巴巴大数据实践》
《白话大数据与机器学习》
《大数据:互联网大规模数据挖掘与分布式处理》
《大数据存储MongoDB实战指南》
《大数据架构师指南》
《大数据架构详解:从数据获取到深度学习》
《大数据算法》
《大数据挖掘:系统方法与实例分析》
《数据算法 Hadoop Spark大数据处理技巧》
《用户网络行为画像 大数据中的用户网络行为画像分析与内容推荐应用》
《云计算和大数据时代网络技术揭秘》
《自己动手做大数据系统.张魁(带书签文字版)》
《白话大数据与机器学习》
《Druid实时大数据分析原理与实践》
《Hadoop大数据分析与挖掘实战》
《Hadoop权威指南.大数据的存储与分析.第4版.修订版&升级版》
《Python机器学习——预测分析核心算法》
《Tensorflow 实战Google深度学习框架(完整版pdf)》
程序员个人修养:
《高效程序员的45个习惯(修订版)敏捷开发修炼之道》
《人件(3版)》
《人月神话.40周年中文纪念版.2015》

**2018/11/1 已更新272本**
Nginx相关:
《决战Nginx 技术卷:高性能Web服务器部署与运维》
《深入理解Nginx模块开发与架构解析》
《深入剖析Nginx》
《学习Nginx HTTP Server中文版》
《Nginx开发从入门到精通》
MongoDb相关:
《深入学习MongoDb》
《MongoDB实战》
数据库相关:
《MySQL数据库开发的三十六条规定-石展》
《SQL HACKS:100个业界最尖端的技巧和工具》
《MySQL开发者SQL权威指南》
《MySQL技术内幕.第5版》
《MySQL技术内幕 InnoDB存储引擎 第2版》
《MySQL管理之道,性能调优,高可用与监控(第二版)》
《MySQL LVS+Keepalived+MHA 高可用群集 应用部署操作手册》
《MySQL 5权威指南中文版第3版》
《高性能MySQL 第3版 中文 》
微服务相关:
《微服设计》
《轻量级微服务架构(上册)》
《轻量级微服务架构(下册)
大数据:
《Hive 简明教程》
《Spark大数据处理 技术、应用与性能优化》
架构相关
《大规模分布式存储系统:原理解析与架构实战.杨传辉》
《大规模分布式系统架构与设计实战.完整版》
git相关:
《Git权威指南》
elasticSearch相关:
《深入理解ElasticSearch》

原文地址:https://www.cnblogs.com/shuideqing/p/11925233.html