用户故事 | 易昊:程序员不止有Bug和加班,还有诗和远方
该思维导图由 AI 生成,仅供参考
为什么我要再学编译原理?
- 深入了解
- 翻译
- 解释
- 总结
程序员易昊分享了他学习编译原理的心得体会。他认为作为应用开发者,除了面对Bug和加班,还应该追求技术上的成就感。学习编译原理是为了弥补大学时期的遗憾,同时也因为编译技术的挑战性吸引着他。易昊指出,掌握编译原理有助于理解计算机底层工作原理,对于解决工作中的问题也大有裨益。他强调底层知识的重要性,认为掌握底层技术后再学习新技术会更容易。易昊通过学习课程《编译原理之美》和《编译原理实战课》,并动手实践,成功地写出了一个简单的编译器,从而获得了技术上的成就感。他总结了学习编译原理的经验,强调了静下心来、勤动手练习的重要性,并鼓励读者在学习过程中参考开源编译器代码,结合理论知识和实际代码进行学习。易昊相信,只要坚持下来,每个人都可以掌握好编译这门“屠龙”技术。
《编译原理实战课》,新⼈⾸单¥59
全部留言(1)
- 最新
- 精选
- 易昊以上是我的学习心得,干货不多,让各位见笑了。这门课内容确实复杂,但我相信它是我的兴趣所在,还是会坚持学习下去的。给自己加油,也给各位加油。
作者回复: 易昊的分享让我很感动。借着易昊这篇文章,我也分享一点看法。 我觉得中国可以有更多的软件工程师,把像编译原理这样的基础知识吃透,那我们的软件行业的整体水平会提升一大截。 我前一阵在北京跟某公司老总探讨一个优秀的行业应用软件。那个软件是上世纪90年代就被开发出来,也被我国广泛采用。它一方面是个应用软件,另一方面其本身也是一个开发平台,所以可以经过定制,满足不同行业的需求。 任何优秀的软件,必须同时是一个开发平台。这是《黑客与画家》的作者表达的思维。他原来的意思是,每个软件写到最后,都会包含一个Lisp的变种。实际要表达的意思跟我说的一样。 但是,我们国内的软件行业的情况是,在去客户那里实施的时候,几乎总是要修改源代码,否则就不能满足用户的个性化需求。 很多软件公司想去克隆一下我刚才说的那套软件,结果都放弃了。除了对领域模型理解的困难以外,缺少把一个应用软件做成软件开发平台的能力,是其中很大的一个障碍。 目前在很多领域都是这样。国外的软件就是摆在那里。中国的工程师就是做不出自己的来。 有多难么?如果你经历了学习编译原理的过程,你会像易昊不再惧怕计算First和Follow集合那样,不会对实现这样的软件心存恐惧。心里不怕了,才有可能行动起来。 学编译原理学到了什么?学到了计算机的一些基础原理,一些数据结构和算法。前端有几个算法,优化方面有不少算法,后端也有几个算法。你会发现,任何软件,只要里面有几个扎扎实实的算法,别人就很难模仿和逾越。很多软件工程师,写了很多年的软件,其实连一个算法也没有用过。这种软件当然不会有什么竞争力。总是做这样的工作,水平也提不上去。 做一个软件工程师很容易,但要成为一个优秀的软件工程师,须要“心”先过关。 做一款软件也很容易,但要做那种优秀的软件,其设计者也必有一颗不凡之心! 跟易昊及各位同学共勉!
2020-08-12538