最近在看深入理解计算机系统(CSAPP),感觉看得好慢啊。。

2017-12-25 10:46:05 +08:00
 shaco

个人背景

211 本科,工作一年半,后端,但是大学专业并不是计算机(很多专业课都没有学过,但是自己粗略的看过一些),所以基本上都是自学的

疑惑

最近在看 CSAPP 这本书,看到讲汇编的这一章(突然发现看得好吃力,于是回过头去看王爽的<<汇编语言>>)。想起自己好像看 CSAPP 这本书已经两个月了(每天花一到两个小时看,一遍看一遍敲,所有课后习题都做完),发现进度真的很慢,如果照这样的进度下去,我觉得看完整本书估计至少还得半年,所以请教各位有没有高效一点的方法来看这本书,或者传授一点看书 or 学习的经验与方法

PS:我指的高效的方法并不是走捷径,而是换一种方式来读这本书,比如:

27751 次点击
所在节点    程序员
72 条回复
Shura
2017-12-25 10:54:12 +08:00
CSAPP 就是一本入门书,如果你实在难懂的地方可以先跳过去。我看书的经验就是尽可能把书完整的看一遍,然后去查自己不懂的地方,之后再把书看一遍,如果不懂就再看一遍。我感觉经典书籍看一遍是不够的,你也没必要在某个细节上死磕。
推荐一个 CSAPP 辅助的学习资料,http://wdxtub.com/2016/04/16/thin-csapp-0/ 里面有配套的实验,还是挺有意思的。
shaco
2017-12-25 10:56:41 +08:00
@Shura 谢谢,不过 CSAPP 真的是一本入门书吗??我感觉这本书讲的并不浅,有一定的深度啊。
Valyrian
2017-12-25 10:59:23 +08:00
整本看完确实很长…不如哪里感兴趣或有需求就看哪里,当作字典来用
charadeyouare
2017-12-25 11:00:11 +08:00
做 lab
Shura
2017-12-25 11:01:42 +08:00
@shaco https://www.zhihu.com/question/20402534
“下图显示了 213 这门课在整个课程体系中的重要性,它是众多课程的先修要求。至于 15213 的先修课程则是 122 使用 C0 语言教学( C 语言的一个子集) 15-122 S16。 如果没有编程基础则可先修 15112,使用 Python 教学( 15-112 Schedule (Fall 16))。
https://pic3.zhimg.com/50/9d2165634bb036b531ff92ce670579d2_hd.jpg

CSAPP 就是 CMU15-213 的教材。
shaco
2017-12-25 11:02:21 +08:00
@Valyrian 是啊,其实说实话,CSAPP 里面的内容对我目前的工作的帮助并不明显,我想对大多数人都是这样,我之所以看这本书一方面是为了修炼内功,另一方面为我明年看操作系统,编译原理等课程做准备(明年可能考研)
hebwjb
2017-12-25 11:04:16 +08:00
慢慢啃吧,你着急短时间内看完干嘛?
shaco
2017-12-25 11:06:46 +08:00
@hebwjb 也不是着急看完,我是觉得如果看一本人家大二学生的教材,需要花费这么久的话,是不是我看书的姿势不对....
deepkolos
2017-12-25 11:14:43 +08:00
@shaco 感觉前个时代的技术最佳实践积累书籍, 更多是往后的启发性意义, 不是实用
bramblex
2017-12-25 11:16:24 +08:00
不用担心, 如果你能用这种态度学的话, 两年内就可以把基础知识吃的比绝大多数科班还牢固
zhizhuo
2017-12-25 11:22:15 +08:00
提供一点自身经验:
美国教材基本都是大而全的,所以想专门精读一本教材是非常费时间的 。
个人在学习一些学科的时候,做法是交叉阅读不同的教材,看不同的书有哪些不同的部分,哪些相同的部分,以及相同的知识点有什么不同的解释。
所以个人的建议是一定要拿捏重点,放弃不重要的冗余部分。
bramblex
2017-12-25 11:22:26 +08:00
@shaco

绝对没有姿势不对, 而是大学计算机教材虽然深奥, 但是应付考试的要求很低.
cielpy
2017-12-25 11:24:30 +08:00
第一部分看了几节,然后浏览了下目录先略过了,目录来说我还是要了解一些比较贴近开发的原理向知识,如编译,线程,内存等,所以开始看第二部分,涉及到第一部分的内容再回去看看
we000
2017-12-25 11:24:45 +08:00
同样不是 CS 专业, 当时第一时间买这本书花两晚看完爽得很, 后续又买了那本绝版的 AT&T 汇编书. 不过都没有做题...
wekw
2017-12-25 11:32:28 +08:00
对后端工作帮助最大的应该是操作系统。
ipwx
2017-12-25 11:47:31 +08:00
没看过 CSAPP。不过我可以说说我校( THU )计算机本科核心课的承接关系,供参考。

大一上:程序设计基础( C 语言+简单的算法,比如动态规划)、计算机科学导论。
大一下:面向对象程序设计基础( C++)。
大二上:数据结构与算法、模拟电路。
大二下:数字电路、形式语言与自动机。
大三上:编译原理、计算机组成原理、软件工程、网络原理、操作系统。
大三下:计算机系统结构。
ipwx
2017-12-25 11:47:59 +08:00
楼主可以参考我们本科培养方案所涉及的话题的前后关系,阅读各种参考资料。
bramblex
2017-12-25 11:58:01 +08:00
@ipwx 为啥我们大二就学完这些全部了...
hei1000
2017-12-25 12:13:12 +08:00
这本书很好的,包括那些 lab,不要指望短时间看完,消化不了的,而且值得二刷三刷的
jimzhong
2017-12-25 12:20:21 +08:00
@shaco CSAPP 是一本入门书,CS 本科毕业生应该能轻松阅读,操作系统部分讲的很浅。LZ 可以跳过处理器设计和程序优化章节。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/417357

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX