首页>一不小心就成神豪了 > 第198章 实验室

第198章 实验室(第2页)

目录

所以,它其实覆盖了“计算机组成原理”

,“操作系统”

等许多课程的内容,其中的许多话题都能再次展开,继续深入,都能再变成一本,甚至N本经典。

事实上,在高年级的计算机专业课程设置中,都会有更加纵向的内容出现。

因此,如果有人说它“底层”

,章杉同意。

但如果说它“深入”

,至少章杉不那么赞同。

“覆盖面广”

,其实就是这本书的最大优点。

它告诉我们计算机是如何设计和工作的,操作系统有哪些重点,它们的作用又是什么。

《ComputerSystems:AProgrammer’sPerspective》的目标其实便是要讲清楚原理,但并不会把某个话题挖掘地过于深入,过于细节。

例如书中第4章使用了自己“设计”

和“实现”

的“Y86”

处理器架构,便是为了简化X86指令集,使课本内容在能够说明问题的前提下也不至于太复杂。

因此,读完(其实也并不一定要读完,说实话章杉也没有读完)这本书后,我们就可以对计算机系统各组件的工作方式有了理性的认识。

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

章杉对《ComputerSystems:AProgrammer’sPerspective》推崇备至。

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

即便你是一个前端JavaScript程序员,也可以从《ComputerSystems:AProgrammer’sPerspective》这本书中获益。

如果您是.NET程序员,那么您更加适合看这本书了。

说一句“豪情万丈”

的话:如果不知道XX,YY或ZZ的话,这如何算是一个优秀的程序员?

这本书和平时的工作可能的确不一样,相比起来“底层”

了一些,但是它还是会把“底层内容”

控制在一定深度之内,而不会讲某个具体话题挖掘到“事倍功半”

的程度。

而事实上,虽然在进行.NET开发的时候我们已经在一个较高的抽象上工作了,但是我们的程序还是运行在操作系统上,还是在遵循着某个规律在运行着,了解一些内部的工作机制也有助于我们写出更好的应用程序。

说来也奇怪,虽然各种语言,框架发展地越来越好,按理来说我们写程序也应该越来越容易。

但是现在看来,一些基础性的内容反而也变得越来越重要了,例如在并行计算面前,计算系统的一些细节,如内存一致性模型,线程调度,程序的局部性(Locality)又被提上台面,否则我们很难写出高效的应用程序。

同样,一些如函数式编程,Monad等在几年前看起来十分科研型,数学化的事物也离我们越来越近了,如LINQ,ReactiveFramework等等,其实它们都已经是我们身边的事物了。

《ComputerSystems:AProgrammer’sPerspective》这本书覆盖面很广,章杉认为并非要一字不漏地读完才行。

本章未完,点击下一页继续阅读



返回顶部