V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
QBugHunter
V2EX  ›  问与答

《编译原理》那些人需要学的

  •  
  •   QBugHunter · 2020-12-24 19:03:52 +08:00 · 3241 次点击
    这是一个创建于 1435 天前的主题,其中的信息可能已经有所发展或是发生改变。

    RT

    买回来看下,厚厚的一本书,感觉学习(时间)成本挺大的,但有时候又一种焦虑,担心学了以后完全用不到的东西而白白浪费了时间

    还有顺路问下,你们如何选择学习新的知识的?现在不管学什么,学一门技术少则几个月,你们有没有担心,由于信息错误之类的,导致花了大把时间学了一项完全没用的东西。

    PS:我有个伯伯,94 年的时候花了一年时间,和一万块钱,去上海学了 BB 机维修

    30 条回复    2020-12-25 15:51:55 +08:00
    zjsxwc
        1
    zjsxwc  
       2020-12-24 19:23:28 +08:00 via Android
    有用的,等你需要魔改框架的时候,就算是写 php 的 crud boy,也会碰到有需求改 sql 模板引擎,改 twig 渲染引擎的需求
    lidlesseye11
        2
    lidlesseye11  
       2020-12-24 19:28:21 +08:00
    蹲一个大佬回答

    PS: 会修 BB 机的人,学修手机也会更快吧
    sadfQED2
        3
    sadfQED2  
       2020-12-24 19:29:52 +08:00 via Android
    楼主的配图和 ps,哈哈哈,让我笑一会
    raaaaaar
        4
    raaaaaar  
       2020-12-24 19:34:15 +08:00 via Android
    也许明天前端框架就过时了,但是计算机基础永远不会过时。
    sagaxu
        5
    sagaxu  
       2020-12-24 19:50:12 +08:00 via Android   ❤️ 3
    编译不是 CS 必修课吗?
    QBugHunter
        6
    QBugHunter  
    OP
       2020-12-24 19:51:08 +08:00
    @lidlesseye11
    后来的事情,我大伯借钱开了一家维修门店,不两年就关门大吉,还欠了债。他家小孩上学还跑到我家借钱。。
    yzbythesea
        7
    yzbythesea  
       2020-12-24 20:48:30 +08:00
    单纯工作的话,搞互联网,编译原理没什么卵用。啃这种大部头,主要是提高你的学习能力和思维方法。
    yuzhibopro
        8
    yuzhibopro  
       2020-12-24 20:55:16 +08:00
    工作了,就别学了
    Mohanson
        9
    Mohanson  
       2020-12-24 21:05:25 +08:00   ❤️ 6
    我在编译器和 vm 相关领域工作快 2 年了, 挺好玩的啊, 如果当初不学这些的话现在也根本没机会去做这块的工作. 不过真的这玩意学多了是有毒的.

    正常人求平均值: (x + y) / 2
    玩编译器或算法的: (x & y) + ((x ^ y) >> 1)

    推荐下我之前写的 《三天时间教你手写 JIT 编译器》: http://accu.cc/content/jit_tour/principle/
    across
        10
    across  
       2020-12-24 21:15:39 +08:00 via iPhone
    就这思路别学了。
    学什么语言 20 年后都没大用。
    yangzhezjgs
        11
    yangzhezjgs  
       2020-12-24 21:21:38 +08:00
    不做相关领域的工作基本没用太大的用处,如果是为了实用的话,建议不如去学学框架原理和设计模式,可能更有实际的价值
    carlclone
        12
    carlclone  
       2020-12-24 22:41:42 +08:00 via Android
    这本书是给老师节选教学用的,不是自学用的,没老师带着看的话还是别浪费时间了
    agagega
        13
    agagega  
       2020-12-24 22:59:55 +08:00 via iPhone
    国内陈火旺那本书就不是正常人能看明白的,仿佛是借用了汉字的另一门语言。龙书也很晦涩。虎书和楼登的那本写得比较好;还有好像是斯坦福的那个教授写的也挺不错,我是看那个入门的
    echo1937
        14
    echo1937  
       2020-12-24 23:01:50 +08:00   ❤️ 1
    如果按照“重要+紧迫”的象限法,编译原理属于 重要但不紧迫 的内容。
    levelworm
        15
    levelworm  
       2020-12-25 01:32:31 +08:00 via Android
    其实正常人学前端和中端最实用。Parsing,static analysis 这些。后端没什么机会做。
    mcfog
        16
    mcfog  
       2020-12-25 08:13:39 +08:00 via Android
    如果是非科班选手补课,我会觉得学算法不如学数据结构,学数据结构不如学编译原理
    QBugHunter
        17
    QBugHunter  
    OP
       2020-12-25 09:34:32 +08:00
    @across

    所以呢,你一个前端人员,现在在学汇编?
    jsun
        18
    jsun  
       2020-12-25 09:36:42 +08:00
    不明白看这本书到底要花多大代价,每天抽点时间,一两个月就能看完的事。不要太急于求成
    QBugHunter
        19
    QBugHunter  
    OP
       2020-12-25 09:52:19 +08:00
    @jsun
    书的扉页上写的美国哥伦比亚大学使用概述作为教材,面向高年级本科生和研究生,讲述 1-8 章,耗时一学期,研究生还需要学习 9-12 章

    斯坦福大学花费一学季教学 1-8 章

    你这个一两月就能看完,纯属张口就来了
    jsun
        20
    jsun  
       2020-12-25 10:06:53 +08:00
    @QBugHunter 哈哈,照你这么说,大学里随便一本书都要读上一个学期吗
    QBugHunter
        21
    QBugHunter  
    OP
       2020-12-25 10:10:32 +08:00
    @jsun

    我说的是编译原理这本书,没说随便一本

    我这边工地缺抬杠的,你要来吗?
    Goldilocks
        22
    Goldilocks  
       2020-12-25 10:16:09 +08:00 via Android
    搞机器学习的要用
    hahastudio
        23
    hahastudio  
       2020-12-25 10:17:28 +08:00
    编译原理不是一周就上一次么?
    你先把这一步迈出去,再想失去什么,现在什么还都没有呢,有什么可失去的
    kop1989
        24
    kop1989  
       2020-12-25 10:27:03 +08:00
    lz 的担心是存在的。所以绝大多数的知识(信息),都是工作 /生活中紧迫要用学习效率最高,成功率也最高(因为能及时验证 /止损)。

    但这也就意味着你为了“速成”,不得不摄入更大比例的“二手知识”。(二手知识的定义:被精炼过的,更贴近于实用的,抛弃部分细节的知识。)
    食用过大计量的二手知识的副作用就是会导致你逐渐丧失“融会贯通”的能力。(因为抛弃了太多细节,部分内容可能还有过曲解,甚至是夹带私货)

    这就导致你不得不持续补充新的“二手知识”。从而掉入恶性循环。

    所以我个人的学习习惯是:平时着重积累知识广度(二八原则,用两分力去了解个大概。有助于快速辨认二手知识的“成色”和“正确性”),然后根据自己目前的空闲时间分配学习一到两个方向的深度知识。
    kop1989
        25
    kop1989  
       2020-12-25 10:33:20 +08:00
    举个例子: https://www.v2ex.com/t/734092
    这个帖的楼主,就是明显的“二手知识食用过量综合征”
    anonydmer
        26
    anonydmer  
       2020-12-25 10:57:52 +08:00
    举个例子吧,假设你是一个前端的开发人员(很多人会说前端学编译原理干啥用),你平时的工作会用到模板引擎,但 估计也仅仅是会用而已;而如果你掌握编译原理方面的一些知识,你可以更好的去评估一个模板引擎,甚至可以去自己实现一个模板引擎; 非要讲有啥用的话,可以去给你用到的模板引擎的开源项目提交 PR 也算吧
    NexTooo
        27
    NexTooo  
       2020-12-25 10:59:28 +08:00
    @kop1989 确实,今年看了不少东西,为了面试准备了很久才体会到。别人一句话的总结,在面试的时候想流利的回答上为什么,你可能需要花一个月的时间去深入一系列的知识中去归纳
    lvzhiqiang
        28
    lvzhiqiang  
       2020-12-25 11:37:06 +08:00
    @raaaaaar 永远有点夸大了, 只能说在我们这一代人还能活着的时候,下一代会不会有突破我们不得而知。我们现在的底层技术,特别是架构理念和思想,还是上个世纪五六十年代的那些计算机元老研究出来的产物。
    lvzhiqiang
        29
    lvzhiqiang  
       2020-12-25 11:41:23 +08:00
    你觉得有用就去学,我觉得学任何技术和知识,要像蜘蛛撒网一样,扩散关联。
    sewer
        30
    sewer  
       2020-12-25 15:51:55 +08:00 via iPhone
    学了 能干嘛
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4129 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 05:30 · PVG 13:30 · LAX 21:30 · JFK 00:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.