编译原理实战课
宫文学
北京原点代码 CEO
26066 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 55 讲
真实编译器解析篇 (19讲)
编译原理实战课
15
15
1.0x
00:00/00:00
登录|注册

用户故事 | 易昊:程序员不止有Bug和加班,还有诗和远方

学习过程中的体会
静下心来学,勤动手练
学习过程中的体会
学习《编译原理实战课》
自己实现了一个简单的编译器
学习《编译原理之美》
应用于工作中的帮助
编译技术的挑战性
技术成就感
如何更好地学习编译原理?
我是怎么学习专栏的?
为什么我要再学编译原理?
易昊:程序员不止有Bug和加班,还有诗和远方

该思维导图由 AI 生成,仅供参考

你好,我是编辑王惠。在处理这门课的留言时,我注意到易昊同学一直在跟随着宫老师的脚步,学习和实践编译原理的相关知识,留言的内容十分有见地、提出的问题也能看出是经过了他深入的思考。同时,咱们这门课也具有很强的互动性,所以我邀请他来和我们分享一下他的心得体会。
Hi,我是易昊,目前在武汉做 Android 开发,已经工作 12 年了。很高兴能在这里跟你分享,关于我学习编译原理的一些心得体会。

为什么我要再学编译原理?

首先,我想给你解释一下,我为什么会起“程序员不止有 Bug 和加班,还有诗和远方”这样一个标题呢?
这是因为,作为一名应用开发者,我经常会觉得,自己只是在和源源不断的 Bug 以及项目进度作斗争,日常工作好像已经无法给我带来技术上的成就感了。但我能肯定的是,我对于技术的情怀并没有消失。我也认为,我不应该只满足于完成日常的普通开发任务,而是应该去做点更有挑战性的事情,来满足自己精神上的追求
那么,我为什么会选择学习编译技术呢?
首要的原因,是这门课的内容不像编程语言、数据结构那样清晰直观。加上在大学时期,学校安排的课时较短,只有半个学期,自己又没有对它足够重视起来,导致这门课只学了个一知半解,从而造成自己对计算机底层工作原理没有掌握透彻,留下了遗憾。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

程序员易昊分享了他学习编译原理的心得体会。他认为作为应用开发者,除了面对Bug和加班,还应该追求技术上的成就感。学习编译原理是为了弥补大学时期的遗憾,同时也因为编译技术的挑战性吸引着他。易昊指出,掌握编译原理有助于理解计算机底层工作原理,对于解决工作中的问题也大有裨益。他强调底层知识的重要性,认为掌握底层技术后再学习新技术会更容易。易昊通过学习课程《编译原理之美》和《编译原理实战课》,并动手实践,成功地写出了一个简单的编译器,从而获得了技术上的成就感。他总结了学习编译原理的经验,强调了静下心来、勤动手练习的重要性,并鼓励读者在学习过程中参考开源编译器代码,结合理论知识和实际代码进行学习。易昊相信,只要坚持下来,每个人都可以掌握好编译这门“屠龙”技术。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《编译原理实战课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • 易昊
    以上是我的学习心得,干货不多,让各位见笑了。这门课内容确实复杂,但我相信它是我的兴趣所在,还是会坚持学习下去的。给自己加油,也给各位加油。

    作者回复: 易昊的分享让我很感动。借着易昊这篇文章,我也分享一点看法。 我觉得中国可以有更多的软件工程师,把像编译原理这样的基础知识吃透,那我们的软件行业的整体水平会提升一大截。 我前一阵在北京跟某公司老总探讨一个优秀的行业应用软件。那个软件是上世纪90年代就被开发出来,也被我国广泛采用。它一方面是个应用软件,另一方面其本身也是一个开发平台,所以可以经过定制,满足不同行业的需求。 任何优秀的软件,必须同时是一个开发平台。这是《黑客与画家》的作者表达的思维。他原来的意思是,每个软件写到最后,都会包含一个Lisp的变种。实际要表达的意思跟我说的一样。 但是,我们国内的软件行业的情况是,在去客户那里实施的时候,几乎总是要修改源代码,否则就不能满足用户的个性化需求。 很多软件公司想去克隆一下我刚才说的那套软件,结果都放弃了。除了对领域模型理解的困难以外,缺少把一个应用软件做成软件开发平台的能力,是其中很大的一个障碍。 目前在很多领域都是这样。国外的软件就是摆在那里。中国的工程师就是做不出自己的来。 有多难么?如果你经历了学习编译原理的过程,你会像易昊不再惧怕计算First和Follow集合那样,不会对实现这样的软件心存恐惧。心里不怕了,才有可能行动起来。 学编译原理学到了什么?学到了计算机的一些基础原理,一些数据结构和算法。前端有几个算法,优化方面有不少算法,后端也有几个算法。你会发现,任何软件,只要里面有几个扎扎实实的算法,别人就很难模仿和逾越。很多软件工程师,写了很多年的软件,其实连一个算法也没有用过。这种软件当然不会有什么竞争力。总是做这样的工作,水平也提不上去。 做一个软件工程师很容易,但要成为一个优秀的软件工程师,须要“心”先过关。 做一款软件也很容易,但要做那种优秀的软件,其设计者也必有一颗不凡之心! 跟易昊及各位同学共勉!

    2020-08-12
    5
    38
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部