看完了 CSAPP,打个卡,同时求推荐一些可以修炼内功的计算机书籍 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
x97bgt
V2EX    程序员

看完了 CSAPP,打个卡,同时求推荐一些可以修炼内功的计算机书籍

 
  •   x97bgt 2019-03-14 17:25:08 +08:00 9502 次点击
    这是一个创建于 2474 天前的主题,其中的信息可能已经有所发展或是发生改变。

    年初到现在,历时 3 个月,终于看完了 CSAPP,很多知识点现在似乎都串起来了,简直太畅快了。

    自己基础太差,决定今年用一整年的业余时间来补基础。

    求大家推荐一些能修炼内功的计算机书籍啊,抱拳感谢了!

    第 1 条附言    2019-03-15 00:00:17 +08:00
    楼主下一本书准备看 OSTEP 了,谢谢各位大佬!
    67 条回复    2019-03-16 16:04:23 +08:00
    neoblackcap
        1
    neoblackcap  
       2019-03-14 17:27:50 +08:00
    《现代操作系统》
    Mistwave
        2
    Mistwave  
       2019-03-14 17:49:19 +08:00 via iPhone   3
    操作系统 推荐 OSTEP 自学的话比楼上的现代操作系统要好
    数据结构 算法第四版
    软件工程 构建之法
    编译原理 编程语言实现模式
    网络 不熟 请楼下推荐

    综合:The Pragmatic Programmer (薄) 和 Code Complete (厚)

    当然还有更多好书 比如 SICP 重构啥的 慢慢来吧
    lostberryzz
        3
    lostberryzz  
       2019-03-14 17:51:15 +08:00   17
    又到了我最喜欢的推荐自己没看过的书的环节了 (doge
    midasplus
        4
    midasplus  
       2019-03-14 17:52:19 +08:00
    推荐 ostep+1,看得非常舒服
    maoyun234
        5
    maoyun234  
       2019-03-14 17:53:46 +08:00
    计算机网络,自顶向下方法
    CSAPP 目前也在看
    cyaki
        6
    cyaki  
       2019-03-14 18:06:04 +08:00   2
    使用对话形式讲解操作系统, 很直白易懂
    [Operating Systems: Three Easy Pieces]( http://pages.cs.wisc.edu/~remzi/OSTEP/)
    x97bgt
        7
    x97bgt  
    OP
       2019-03-14 18:15:25 +08:00 via iPhone
    @Mistwave #2 SCIP 会不会比较适合工作一段时间的人读,似乎是比较偏哲学的?(我还没工作……
    lxy42
        8
    lxy42  
       2019-03-14 18:15:27 +08:00
    我正在慢慢看英文原版,很久之前看过中文版。

    你看得挺快的,有做课后习题吗?
    x97bgt
        9
    x97bgt  
    OP
       2019-03-14 18:17:40 +08:00 via iPhone
    @cyaki #6 这本就是 ls 说的 OSTEP 吧(好像首字母可以对起来
    IsaacYoung
        10
    IsaacYoung  
       2019-03-14 18:18:40 +08:00 via iPhone
    x97bgt
        11
    x97bgt  
    OP
       2019-03-14 18:19:24 +08:00 via iPhone
    @lxy42 #8 就看的中文版第 3 版,翻译挺好的,阅读很流畅。课后习题有做。习题比较简单,不会花很多时间。
    jetbillwin
        12
    jetbillwin  
       2019-03-14 18:25:21 +08:00
    计算机系统要素
    CocaColf
        13
    CocaColf  
       2019-03-14 18:30:25 +08:00 via Android
    楼主可以分享一下怎么阅读这本书的,这本书一直没有坚持看完,你三个月看完真是很快了。
    hackerang
        14
    hackerang  
       2019-03-14 18:31:47 +08:00
    @x97bgt SCIP 有没有工作经验都可以,读书的时光是最好打磨技术的时候。
    xFrye
        15
    xFrye  
       2019-03-14 18:32:06 +08:00
    最近在看 sicp,感觉还是挺有意思的
    Mistwave
        16
    Mistwave  
       2019-03-14 18:35:28 +08:00 via iPhone
    @x97bgt
    SICP (不是 SCIP )我是在校的时候读的 适合拿来作为 FP 入门(用 Scheme 讲解)和软件工程入门(控制复杂度)
    也正是用的 Scheme 的原因,导致与实际工程联系不强,所以我没有放在前面推荐。

    OSTEP 就是上面老哥给链接的那本。
    我推荐的都是我看过的书,除了 Code Complete 是正在看,同样非科班出身,可以多多交流。
    nimrc
        17
    nimrc  
       2019-03-14 18:52:03 +08:00
    三个月真的能读的完吗
    x97bgt
        18
    x97bgt  
    OP
       2019-03-14 18:53:57 +08:00 via iPhone
    @CocaColf #13
    我的策略是力求理解,但不求记忆。偶尔遇到搞不懂的,做个标记,在不影响后面阅读的情况下就跳过了。
    此外每阅读完一章,就做一个简短的提纲,写明这一章的每一节讲了什么。

    别对这本书太畏惧。一开始我总是想着“找一个大块的时间(比如整个下午)”后,才开始阅读。
    后来都是早起睡前读一会,慢慢地就能读完。这在精神上还是蛮容易坚持的。
    总结一下,就是 养成每天读一点的习惯+不要拖延。
    x97bgt
        19
    x97bgt  
    OP
       2019-03-14 18:54:40 +08:00 via iPhone
    @nimrc #17 有相当一部分是过年回家,有空余时间读的。
    jdhao
        20
    jdhao  
       2019-03-14 18:54:58 +08:00 via Android
    纯用时多少,三个月只是笼统时间,另外只是看完吗
    x97bgt
        21
    x97bgt  
    OP
       2019-03-14 18:59:01 +08:00 via iPhone
    @jdhao #20 纯用时没计算过,基本都是工作日早起睡前和周末下午阅读的。内容是感觉都理解了,至少读下来挺顺畅的,逻辑都能理清。
    不过我的策略原本就是先完整读一遍,有时间再多翻一翻。好书肯定不能只读一遍。
    letianqiu
        22
    letianqiu  
       2019-03-14 19:20:52 +08:00   1
    操作系统和编译原理都不是看一本书就够了的。除了楼上提到的威大的那本,还有一本 Operating System in Depth 不错。现代操作系统偏理论,实践部分不足。编译原理的话建议先看 MIT 的 Theory of Computation,之后龙书,engineering a compiler 互相参考。龙书因为是多位作者合著的,所以章节安排方面有很大的问题,不太连贯,对编译原理没有概念的话直接看龙书太痛苦了。
    ChristopherWu
        23
    ChristopherWu  
       2019-03-14 20:55:34 +08:00
    楼主加个微信互相打卡?
    mengqi
        24
    mengqi  
       2019-03-14 21:02:00 +08:00   1
    如果平常经常和数据库打交道的话,推荐一本《 Designing Data-Intensive Applications 》
    x97bgt
        25
    x97bgt  
    OP
       2019-03-14 21:36:57 +08:00
    kristpan
        26
    kristpan  
       2019-03-14 21:54:55 +08:00 via Android
    读算法导论吧,我最近刚入坑,公式推得头疼。https://panqiincs.me/2019/03/01/clrs-learning-plan/
    CharmanderS5
        27
    CharmanderS5  
       2019-03-14 21:56:35 +08:00 via Android
    收藏咯,大神们继续
    none
        28
    none  
       2019-03-15 00:26:01 +08:00
    同在看这本书,刚开始不久,不知道楼主看完觉得如何? 看完这个再去读内核源码会不会容易理解很多?
    wangluofansi
        29
    wangluofansi  
       2019-03-15 00:28:25 +08:00
    SICP 讲的是函数式编程和抽象,抽象即隔离变化的部分。我真正理解递归是从这本书开始的。
    另外楼上推荐的 Designing Data-Intensive Applications 适合所有后端入门分布式系统。而且不是简单的入门,我个人感觉这本书对于分布式系统的逻辑是自洽的,有种融会贯通的感觉。
    Mirana
        30
    Mirana  
       2019-03-15 00:29:05 +08:00
    算法导论。。。
    HeliumTang
        31
    HeliumTang  
       2019-03-15 06:20:48 +08:00 via Android
    正在看 The Linux Command Line,比鸟哥更适合新手的 linux 基础书。
    同推荐 SICP
    x97bgt
        32
    x97bgt  
    OP
       2019-03-15 08:00:15 +08:00
    @none 看完后觉得知识不那么零碎了,各个部分能连在一起。
    x97bgt
        33
    x97bgt  
    OP
       2019-03-15 08:04:48 +08:00
    @HeliumTang The Linux Command Line 蛮不错,不过只讲命令行表层的使用,没有涉及原理。但偶尔翻一翻还是不错的。
    catcn
        34
    catcn  
       2019-03-15 10:01:55 +08:00
    程序员的自我修养,准备读第三遍,这次要细致的读,这次要细致的读,这次要细致的读
    x97bgt
        35
    x97bgt  
    OP
       2019-03-15 11:34:24 +08:00 via iPhone
    @catcn #34 加油
    tr>
    hackpro
        36
    hackpro  
       2019-03-15 12:34:39 +08:00
    @x97bgt @neoblackcap @Mistwave @lostberryzz @111qqz @maoyun234 @cyaki @lxy42 @IsaacYoung @jetbillwin @CocaColf @hackerang @xFrye @nimrc @jdhao @letianqiu @ChristopherWu @mengqi @kristpan @CharmanderS5 @none @wangluofansi @Mirana @HeliumTang @catcn

    贴个我自己维护的书单
    大部分是我自己读过或者 Team 内部 Training 用的教材
    欢迎各位老哥 star
    hackpro
        37
    hackpro  
       2019-03-15 12:35:26 +08:00
    lostberryzz
        38
    lostberryzz  
       2019-03-15 12:37:56 +08:00
    @hackpro 一上来就 PRML 合适吗( doge
    jdhao
        39
    jdhao  
       2019-03-15 12:42:28 +08:00 via Android
    @HeliumTang 有一本「 Unix & Linux 大学教程」,个人感觉写的非常好,基础入门 Linux 使用书籍,也可以作为参考书
    hackpro
        40
    hackpro  
       2019-03-15 12:48:50 +08:00
    @lostberryzz #38 我这书单并没有说按照顺序阅读 没有基础的初学者可以先看 ISLR
    另外你讲话也没必要这么阴阳怪气的 Team 里面有不少 Intern 实习结束的时候这本书都啃完了
    lostberryzz
        41
    lostberryzz  
       2019-03-15 12:49:58 +08:00
    @hackpro 只是吐槽一下。。
    lxy42
        42
    lxy42  
       2019-03-15 12:54:09 +08:00 via Android   1
    CSAPP 正在看第二遍(英文版)。

    第一次是在大学的时候看的中文版,当时看的比较快,一些细节没有深究直接跳过了,课后习题也没怎么认真做,看完依然觉得很有收获。

    说一下我的心得:
    - 一定要静下新来慢慢看,不要忽略细节,遇到推导公式试着自己计算一下。

    - 课后习题认真完成,对知识点的理解很有帮助。

    - 把书中的源码下载下来,编译运行一下,最好修改代码验证一下对应的知识点。
    hackpro
        43
    hackpro  
       2019-03-15 13:54:45 +08:00
    @hackpro #36

    由于书的种类较杂 根据某位老哥的建议修改了 Repository Name 另外对书籍类别进行了细分
    https://github.com/hao-lh/books-making-you-better
    Lostars
        44
    Lostars  
       2019-03-15 14:20:25 +08:00
    intel 手册,arm 手册(老实人的笑容)
    catcn
        45
    catcn  
       2019-03-15 15:18:24 +08:00
    @hackpro C++一点都不感冒。
    skywalkerfc
        46
    skywalkerfc  
       2019-03-15 15:42:42 +08:00
    去年看了下 ostep,确实挺好的
    dinjufen
        47
    dinjufen  
       2019-03-15 15:57:45 +08:00
    大家都是看的英文版吗,感觉英文版看的比较慢。。
    syc721
        48
    syc721  
       2019-03-15 16:03:58 +08:00
    Computer Organization and Design : The Hardware/Software Interface
    infreboot
        49
    infreboot  
       2019-03-15 16:06:22 +08:00
    CSAPP 我看了几章,汇编那有点难搞。。
    kristpan
        50
    kristpan  
       2019-03-15 16:59:57 +08:00
    @Stevenv 汇编那章性价比相当高,看完后读基本的汇编代码基本没问题。
    infreboot
        51
    infreboot  
       2019-03-15 17:05:09 +08:00
    @kristpan #50 有什么阅读心得吗?
    nicoley
        52
    nicoley  
       2019-03-15 17:09:27 +08:00
    请问 ostep 有中文版嘛
    x97bgt
        53
    x97bgt  
    OP
       2019-03-15 17:28:25 +08:00
    @nicoley 我只找到中文版的,好像木有。
    x97bgt
        54
    x97bgt  
    OP
       2019-03-15 17:32:56 +08:00   1
    @Stevenv 如果实在不理解,你可以看一下 [汇编语言]( https://book.douban.com/subject/1215178/) 这本,汇编就大致能掌握下来了。
    kristpan
        55
    kristpan  
       2019-03-15 17:38:47 +08:00   1
    @Stevenv 如果之前有 C 语言以及操作系统的基础,仔细阅读,基本上都能读懂的。最好用大块的时间读,要有耐心,一章的内容看个几天也很正常,不能心急。
    lxy42
        56
    lxy42  
       2019-03-15 17:45:59 +08:00   1
    @Stevenv #49

    我正在看第 3 章。

    我觉得理解汇编的关键是:

    - CPU 做的都是非常简单的计算,加法乘,位运算之类的。对应汇编中的操作符、操作数。

    - 理解栈帧的作用,过程调用(函数调用)时栈空间是如何变化的,如何保存和恢复当前函数的状态。

    建议:最好像书中那样,动手把栈画出来,标上变量名、地址等。

    关键字:call、ret、%ebp、%esp 等。

    大概就想到这些。可能因为我有工作经验和看第二遍的关系,我觉得还是比较好理解的。
    lyminghao
        57
    lyminghao  
       2019-03-15 18:01:05 +08:00
    计算机程序设计艺术
    The Art of Computer Programming (TAOCP)

    大概是最少人读下来的计算机经典了。
    justou
        58
    justou  
       2019-03-15 18:42:57 +08:00
    当初为了看懂第三章的汇编, 专门去补了汇编基础: 王爽的那本汇编, 还有本 Assembly Language for x86 Processors, 然后发现第三章没有必要看了...
    Justin13
        59
    Justin13  
       2019-03-15 18:50:28 +08:00 via Android
    sicp...
    我是项目间隔时期在公司刷的,刷到逻辑编程那卡住了,再加上项目一开始忙就没继续。
    回头有空继续看看。。。
    infreboot
        60
    infreboot  
       2019-03-15 18:55:53 +08:00
    @lxy42 #56
    @kristpan #55
    @x97bgt #54
    谢谢三位指教。感激不尽
    daryl
        61
    daryl  
       2019-03-15 19:53:28 +08:00 via iPhone
    三个月?我四个月才看完第一部分……
    1998qiu
        62
    1998qiu  
       2019-03-15 23:50:43 +08:00 via Android
    楼主,你是直接看书学习?还是看书加上 cmu 视频学习啊?
    1998qiu
        63
    1998qiu  
       2019-03-15 23:53:08 +08:00 via Android
    @HeliumTang 赞同
    x97bgt
        64
    x97bgt  
    OP
       2019-03-16 00:35:48 +08:00
    @daryl @1998qiu
    我只看了书,没有跟 CMU 的视频学,实验也没做。准备二刷再回来做实验。
    daryl
        65
    daryl  
       2019-03-16 09:24:15 +08:00 via iPhone
    @x97bgt 我也基本没看视频,现在刚看完存储器那一章…脑阔疼
    Chell
        66
    Chell  
       2019-03-16 12:14:47 +08:00
    这还是有点强的,上学期学校上这门课,加上做 Lab 时间不少了,最后还是虚得一笔
    hx1997
        67
    hx1997  
       2019-03-16 16:04:23 +08:00 via Android
    Sanjoy Dasgupta 的《算法概论》,在看,讲得不错,但示例代码比较少,基本是讲原理。

    网络的话推荐 Kurose 的《计算机网络:自顶向下方法》,不推荐 Tannenbaum 的《计算机网络》,那本讲了太多琐碎细节,厚厚一本,还有他的《现代操作系统》也是这个风格。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1047 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 40ms UTC 17:40 PVG 01:40 LAX 09:40 JFK 12:40
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86