返回第247章 旧书  读书成神豪首页

上一页 目录 下一页

法完全扭曲了书的本意。

如果直译原书名,应该是类似于“以程序员的视角理解计算机系统”,何来“深入”二字。可能在国内编辑看来,这是讲系统的,用和汇编语言的,因此很“深入”,但章杉认为这只能说明国内技术氛围的浅薄。因为事实上,这是一本入门级别的书,这本书其实并不“深入”,它谈论的内容还是相对比较浅的。

但“浅”不代表“浅薄”,写一本面向初学者的好书往往是非常困难的,因此无论是还是puerysesrgraerserspeie,它的作者都是顶尖学府的教授,结合多年教学经验而写出来的。

把这本书作为“nruinpueryse”课程的教材,是面向计算机专业低年级学生的“计算机系统介绍导论”,可能这些学生只是刚刚了解如何使用一门高级语言如aa进行编程,对于计算机系统的工作方式等话题可谓一点都没有接触过,而puerysesrgraerserspeie对读者的背景也只要求是“一些编程经验”而已。

这本书的话题覆盖面很广,从计算机的基本组成,二进制数据表示方式,到机器级别的指令,工作方式,存储结构和优化,操作系统的虚拟内存管理,程序运行方式,,网络、到较底层程序性能优化和并行程序开发等等。所以,它其实覆盖了“计算机组成原理”,“操作系统”等许多课程的内容,其中的许多话题都能再次展开,继续深入,都能再变成一本,甚至本经典。事实上,在高年级的计算机专业课程设置中,都会有更加纵向的内容出现。

因此,如果有人说它“底层”,章杉同意。

但如果说它“深入”,至少章杉不那么赞同。

“覆盖面广”,其实就是这本书的最大优点。它告诉我们计算机是如何设计和工作的,操作系统有哪些重点,它们的作用又是什么。puerysesrgraerserspeie的目标其实便是要讲清楚原理,但并不会把某个话题挖掘地过于深入,过于细节。例如书中第4章使用了自己“设计”和“实现”的“86”处理器架构,便是为了简化86指令集,使课本内容在能够说明问题的前提下也不至于太复杂。因此,读完其实也并不一定要读完,说实话章杉也没有读完这本书后,我们就可以对计算机系统各组件的工作方式有了理性的认识。

那么,这本书适合什么人阅读呢?对于这个问题章杉也有过犹豫。

章杉对puerysesrgraerserspeie推崇备至。

无论是本科生还是打算新上手编程实战的程序员都能从这本书有所收获。

即便你是一个前端aarip程序员,也可以从puerysesrgraerserspeie这本书中获益。如果您是程序员,那么您更加适合看这本书了。

说一句“豪情万丈”的话:如果不知道,或的话,这如何算是一个优秀的程序员?

这本书和平时的工作可能的确不一样,相比起来“底层”了一些,但是它还是会把“底层内容”控制在一定深度之内,而不会讲某个具体话题挖掘到“事倍功半”的程度。而事实上,虽然在进行开发的时候我们已经在一个较高的抽象上工作了,但是我们的程序还是运行在操作系统上,还是在遵循着某个规律在运行着,了解一些内部的工作机制也有助于我们写出更好的应用程序。

说来也奇怪,虽然各种语言,框架发展地越来越好,按理来说我们写程序也应该越来越容易。但是现在看来,一些基础性的内容反而也变得越来越重要了,例如在并行计算面前,计算系统的一些细节,如内存一致性模型,线程调度,程序的局部性aliy又被提上台面,否则我们很难写出高效的应用程序。同样,一些如函数式编程,na等在几年前看起来十分科研型,数学化的事物也离我们越来越近了,如,eaieraerk等等,其实它们都已经是我们身边的事物了。

puerysesrgraerserspeie这本书覆盖面很广,章杉认为并非要一字不漏地读完才行。

根据章杉的个人观点,我们应该着重阅读书的第1章“urfpueryses”和第一部分“rgraruureanxeuin”从第2章开始,大约占据了书中一半篇幅,其中包含了数据的机器级别表示方法,汇编语言和执行方式以及架构方面的内容,我们应该关键性地理解其原理。

如第6章“piizingrgraerfrane”提出了许多种机器级别的优化方式,在现在看来,其中的某些方式过于细致,乃至在实际工作过程中已经不再推荐了如内联一些方法以提高性能,我们要在把握住“为什么”而并不是单纯的吸收“怎么做”。对于书中的第二部分“unningrgrasnayse”主要讲述的是操作系统方面的内容,可以读得略为简单一些,但其中的第10章“irualery”,它谈论了操作系统中虚拟内存机制的各个方面,非常


加入书签 上一页 目录 下一页