编译原理对程序员来说到底有多重要?

发布于 2021-09-28 11:55

不知道什么时候开始,编译原理总被人说成是用来炫耀的“屠龙技”,对此我不敢苟同,编译原理实打实的是一门对你我工作大有裨益的技术。
 
编译技术简单点说,就是把高级语言的代码翻译成为计算机可以理解和运行的二进制代码的技术。我们经常会碰到需要编译技术的场景,比如编写界面模板引擎,为项目编写各种各样的 DSL,深度理解甚至开发出 Spring、Hibernate、阿里巴巴 Druid 这样的工具。
 
除此之外,解析用户输入,防止代码注入,为前端工程师提供像 React 那样的 DSL,像 TypeScript 那样把一门语言翻译成另一门语言,像 CMake 和 Maven 那样通过配置文件来灵活工作,运维工程师分析日志文件等等高级别的需求,都会用到编译技术。
 
除了实践性强,编译技术在求职中也同样重要。不少大厂在招聘时,都会出一些涉及底层机制、有难度的面试题。
 
说起来,我很早就被编译器种了草,当时下定决心学,还是因为想加入 tvm 的社区,发现自己这个短板必须得补上。结果跟大部分朋友一样,遇到了俩最常见的问题:没人教、怕看不懂。
 

如何深入理解并实践编译原理?

 
如今的快餐式学习,虽然会帮助个人在短期内迅速了解一门技术,但程序员想要保持长期的竞争力,学习底层知识并进行实践,提升专业素养必不可少。
 
直到后来,我发现了下面这张宫哥做的脑图,图上系统梳理了关于编译技术最核心的概念、理论和算法,收藏价值挺大,我已经存了好几年了:


这张图来自极客时间的专栏编译原理之美》
 
专栏作者是宫文学,他是北京物演科技 CEO,也是国内最早做 BPM(流程管理平台)和 BI 平台(大数据平台)的创业者之一,第一个公司卖给了上市公司,第二个在新三板上市,后来还做过电子表单和快速开发平台,这些经历与成果都跟编译技术密不可分。当然,他还熟知各种语言编译器的实现机制,实战经验非常丰富。
 
我当时还顺藤摸瓜找到了他在极客时间的另外一个专栏《编译原理实战》专栏,马上入手了!跟着学下来,收获真的很大,毕竟把知识与实践相结合,才让编译技术真正变成自己手中的高阶技能!
 
最近估计是到了求职季了,两个编译原理专栏有联合活动,原价 ¥258(129+129),现在到手只要半价 ¥129,非常划算,推荐给你们!

本文来自网络或网友投稿,如有侵犯您的权益,请发邮件至:aisoutu@outlook.com 我们将第一时间删除。

相关素材