现在,我们学习知识越来越趋于碎片化。敲代码的空隙,总是通过刷刷知乎、看看技术类的公号和论坛,来学习。但是这样吸收的知识太散,如果自己不加以整理,很容易被遗忘,一方面,应该建立自己的知识库,另一方面,还是要腾出时间,去读一些经典书籍

本来准备去买书,又不知道该读什么,所以整理了一些豆瓣评分9以上的书籍,方便大家查阅。


《计算机程序的构造和解释》

-豆瓣评分9.5-

程序员通往进阶之路,不可或缺的经典书籍_第1张图片

书评

为什么我们要学习这本书?因为这本书告诉我们如何抽象
为什么我们要学习如何抽象?因为抽象是我们控制软件复杂性的重要手段
软件是人类有史以来最复杂的系统。
其一、软件系统本身规模庞大,参与人手众多,难以管理;
其二、环境和需求不断变化,且错误难以避免。

人类无法驾驭过于复杂的事物,于是只能寻找方法简化软件系统:把系统分为许多子部分,人们开发一个部分的时候,系统其他部分都是一种抽象,无需了解其细节。
本书讨论的就是系统的组织和设计,有哪些方法可以帮助我们控制软件的复杂度。

书评摘自:空气(来自豆瓣)


《深入理解计算机系统》

-豆瓣评分9.5-

程序员通往进阶之路,不可或缺的经典书籍_第2张图片

内容介绍

从程序员的视角,看计算机系统!
本书适用于那些想要写出更快、更可靠程序的程序员。通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更好的理解程序的行为为什么是这样的,以及效率低下是如何造成的。粗略来看,计算机系统包括处理器和存储器硬件、编译器、操作系统和网络互连环境。而通过程序员的视角,读者可以清晰地明白学习计算机系统的内部工作原理会对他们今后作为计算机科学研究者和工程师的工作有进一步的帮助。它还有助于为进一步学习计算机体系结构、操作系统、编译器和网络互连做好准备。


《代码大全(第2版)》

-豆瓣评分9.3-

程序员通往进阶之路,不可或缺的经典书籍_第3张图片

内容介绍

这也是一本完整的软件构建手册,涵盖了软件构建过程中的所有细节。它从软件质量和编程思想等方面论述了软件构建的各个问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、通用的概念,还含有丰富而典型的程序示例。这本书中所论述的技术不仅填补了初级与高级编程技术之间的空白,而且也为程序员们提供了一个有关编程技巧的信息来源。这本书对经验丰富的程序员、技术带头人、自学的程序员及几乎不懂太多编程技巧的学生们都是大有裨益的。可以说,无论是什么背景的读者,阅读这本书都有助于在更短的时间内、更容易地写出更好的程序。


《算法导论》第二版

-豆瓣评分:9.3-

程序员通往进阶之路,不可或缺的经典书籍_第4张图片

内容介绍

这本书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。
涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。书中专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论。此书还介绍了对强连通子图算法正确性的证明,对哈密顿回路和子集求和问题的NP完全性的证明等内容。全书提供了900多个练习题和思考题以及叙述较为详细的实例研究。


《编码的奥秘》

-豆瓣评分:9.3-

程序员通往进阶之路,不可或缺的经典书籍_第5张图片

内容介绍

在本书中,作者Charles Petzold用常见的对象和诸如布莱叶育文、摩尔斯电码之类大家熟悉的语言系统,为那些曾经想知道计算机和其他智能机器内部“生命”奥秘的人们编排了一个生动的叙述。
本书由灵活的图解和生动的故事组成。沿着作者的这种介绍思路,通过本书的学习你将会发现你已经获得了一个理解今天的PC、数字多媒体和因特网的真实背景。无论你的技术水平怎样,本书都将会使你陶醉,并且很可能唤醒读者参与计算机事业。


《编码》

-豆瓣评分:9.3-

程序员通往进阶之路,不可或缺的经典书籍_第6张图片

书评

正如作者所说,本书并不是讲计算机“如何”工作的,这里的“如何”需要打上引号,原因是在这本书中讲述的过程不同于之前读过的任何一本专业书籍,书中也没有用到多少专业性的描述数据传递的插图,而是通过贴近生活的实际例子娓娓道来。从最初的编码到盲文再到二进制码,从手电筒的电学知识到电报机和继电器再到逻辑开关门电路,然后把这些知识拼接在一起,就组成了构造计算机最基本的一些要素。读此书的过程中,确实有种很神奇之感。

书评摘自:Felven(来自豆瓣)


《计算机程序设计艺术(第1卷)》

-豆瓣评分:9.3-

程序员通往进阶之路,不可或缺的经典书籍_第7张图片

内容简介

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


《编程珠玑(第2版)》

-豆瓣评分:9.1-

程序员通往进阶之路,不可或缺的经典书籍_第8张图片

内容介绍

本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。


《设计模式》

-豆瓣评分9.1-

程序员通往进阶之路,不可或缺的经典书籍_第9张图片

内容简介

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


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

-豆瓣评分9.0-

程序员通往进阶之路,不可或缺的经典书籍_第10张图片

内容简介

Martin Fowler和《重构:改善既有代码的设计》(中文版)另几位作者清楚揭示了重构过程,他们为面向对象软件开发所做的贡献,难以衡量。《重构:改善既有代码的设计》(中文版)解释重构的原理(principles)和最佳实践方式(best practices),并指出何时何地你应该开始挖掘你的代码以求改善。《重构:改善既有代码的设计》(中文版)的核心是一份完整的重构名录(catalog of refactoring),其中每一项都介绍一种经过实证的代码变换手法(code transformation)的动机和技术。某些项目如Extract Method和Move Field看起来可能很浅显,但不要掉以轻心,因为理解这类技术正是有条不紊地进行重构的关键。


以上内容整理自豆瓣读书


正在与Java死磕的新人一枚,觉得Java要一起学才有趣呢~建了学习交流群:205024900,大家一起进来玩吧~