日常学习

book-advise

May 20, 2019

书籍推荐

  1. 深入理解计算机系统

神书, 其令人惊艳的地方在于,真正的做到了漫游了计算机系统,名副其实, 从硬件到软件、从 逻辑硬件到 流水线cpu设计架构,从 指令集 到 高级语言, 从顺序执行到并发执行。。。。 其包罗万象、贯穿了整个计算机,而又不失深度。
这本书大概可以作为计算机各个领域的一个敲门砖,因为计算机发展到今天已经足够深, 所以在单独的领域中依然需要专门的数据来深入探讨。

  1. 程序的构造和解释
    神书, 现在市面上的大部分书籍教的都是框架,如何在xxx框架上写代码。很少有涉猎教如何写代码,更少有教如何有思考的写代码。这本书大概会教会你这些。虽然不仅仅如此而已。 自上而下 将问题拆分,层层求解,亦或 自下而上 搭积木一般层级而上 大概是 最舒适的构建代码方式了, 然而 现实是复杂的,依然需要我们 从两种方法出发的求证来完成构建。

  2. UNIX编程艺术

有关计算机的书已经汗牛充栋,然而,却很少涉及对 复杂度的讨论。作者不仅简单的介绍了UNIX 的编程哲学,还继续深入的讨论了 这些哲学在现代编程中遇到的问题,通过对比vim emacs 的讨论, 从而深层次的 引导出了 『复杂度』的本质概念。作者 将UNiX 编程哲学的简单 进行了更广泛的推广, 认为 任何规模的程序都应该是简单的但是不能简单的过了头,因为 项目解决问题 决定了项目的复杂度, 一个复杂的问题,无论是何种语言 也注定是无法简单的。只能是足够简单。

作者还详细的对复杂度进行了归类划分,以及对应的解决办法。作者对复杂度的讨论,笔者第一次听到过,简直醍醐灌顶,原来我大概一直在错误的尽力的保持代码的整洁和简单,然而,有一些依然是我解决不了的,因为代码解决的问题本身就决定了代码一定是复杂的

  1. Linux/UNIX系统编程手册

笔者是一个应用的开发工程师,所以难免在 进行多年枯燥的 应用级别编程之后,对底层有些好奇,因为 反复的写下来,都有一个Linux系统在其进行支撑,屏蔽了一些诸如文件、进程、调度、通讯上的细节。进而了解linux系统大概是不可避免的。本书名叫编程手册,所以其内容难免枯燥,反锁。然而 魔鬼隐藏在细节中,而Linux值得这些细节。