当前位置:首页 > 公众号精选 > 程序喵大人
[导读]总有些读者问我C是如何入门的?我好像一直也没有总结过一篇文章。其实说真的,学习任何一门语言都是靠实践,我现在还清晰的记得,我用C做的第一个项目就是实现一个小型编译器。大二的时候学习编译原理,当时的大作业就是要实现个编译器。当时对编译原理就非常感兴趣,感觉各种词法分析语法分析非常有...

总有些读者问我C 是如何入门的?我好像一直也没有总结过一篇文章。其实说真的,学习任何一门语言都是靠实践,我现在还清晰的记得,我用C 做的第一个项目就是实现一个小型编译器


大二的时候学习编译原理,当时的大作业就是要实现个编译器。当时对编译原理就非常感兴趣,感觉各种词法分析语法分析非常有意思。最后我也成功的完成了大作业,C 水平上了一个档次,编译原理期末考试也考了96分哈哈。就这么与编译原理结下了不解之缘


不知道什么时候开始,编译原理总被人说成是用来炫耀的“屠龙技”,对此我不敢苟同。我认为编译技术是目前大家工作中实用性最强的技术之一。

 

除了实践性强,编译技术在求职中也同样重要。不少大厂在招聘时,都会出一些涉及底层机制、有难度的面试题。因为只有当面试者彻底理解了编译链接等底层机制,他才能更深入地思考和解决问题,这样的人才是面试官想要的,而非盲目地搜索答案、只看表面的人。

 

所以,学习和掌握编译原理,对我们每个人都意义重大。它会带你从前端的语法维度、代码优化的维度、与硬件结合的维度几个方面,加深对计算机技术的理解,同时提升自己的竞争力。学好编译原理,才能让你的编程水平上一个台阶。

 

下面这张宫哥做的脑图,图上系统梳理了关于编译技术最核心的概念、理论和算法,收藏价值挺大,我已经存了好几年:

 

 

于是,当时顺藤摸瓜找到了他在极客时间的专栏《编译原理之美》,立马入手。追着看完对我的提升确实有不小的影响。最近又在回看复习,收获了一些新的见解和看法,所以也想推荐给你们。

 

现在买还有个订阅突破 10,000 的优惠,秒杀 口令加起来才 ¥89 ,差不多是今年的最低价了,除非你是新用户,能 ¥59.9 就到手。


 

秒杀 专属口令「happy2021」

立省 ¥40,到手仅 ¥89

即将恢复原价 ¥129

 

专栏作者宫文学,是北京物演科技 CEO,也是国内最早做 BPM(流程管理平台)和 BI 平台(大数据平台)的创业者之一,他参与的第一个公司卖给了上市公司,第二个在新三板上市,这些成果都在一定程度上受益于编译技术。

 

当然,他还熟知各种语言编译器的实现机制,实战经验非常丰富。

 

值得注意的是,不论你是什么语言的背景,都能学这门课。因为宫哥的这门课就是为了带着大家去了解各门语言背后的知识,所以课程里选了 C语言、java、javascript 等几门语法看上去都很像的语言来做例子,保证你不会有陌生感,也不会因为掌握的具体语言而卡壳。

 

在课程里,宫哥主要从前端与后端两个层面来讲解编译原理的核心技术点,用具体的案例带你理解抽象的原理,帮你建立信心,克服畏难情绪,让你在这个过程中一步步趟过雷区,在工作中真正用到编译技术。

 

 

课程分成三部分:

第一部分:实现一门脚本语言

主要聚焦编译器前端技术,通过具体实例,带你了解词法分析、语法分析、语义分析的原理,实现一门脚本语言,并用工具提升效率。

 

第二部分:实现一门编译型语言

主要聚焦编译器后端技术,带你了解如何生成目标代码和对代码进行优化,并引入 LLVM 工具,最后生成可执行的文件能支持即时编译,并经过了多层优化。

 

第三部分:面向未来的编程语言

人工智能与编译技术结合是否会出现人工智能编程?这个模块将对编译技术的发展趋势进行分析,帮你更好地把握未来技术发展的脉搏。

 

具体每部分内容,来看目录。

 

 

别光我说,还收集了一些其他人的评价,供你参考。

▽点开可看大图

 

 

虽然很多课程都会搭配实战,但其代码能在实际中用的不多,而宫哥介绍的 Antlr 和 LLVM 两个工具,前者能做编译器前端的工作,后者能完成编译器后端的工作,真正做到了帮你用编译技术来解决报表设计等实际问题,这点非常难得。

 

我粉丝的专属优惠:

 

秒杀 专属口令「happy2021」

立省 ¥40到手仅¥89

即将恢复原价 ¥129



点击「阅读原文」

输入粉丝专享口令「happy2021」

立省 ¥40 入手

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

MIKROE增加了图形功能,CLANG支持ARM和RISC-V以及许多其他功能

关键字: 编译器 RISC-V架构 工业自动化

IAR Embedded Workbench for Arm已全面支持恩智浦最新的S32系列,可加速软件定义汽车的车身和舒适性应用的开发

关键字: 电机控制 电动汽车 编译器

这款新编译器专为dsPIC®数字信号控制器 (DSC)优化设计,可为实时应用定制许可选项

关键字: 编译器 数字信号控制器 自动驾驶

C语言编译器是一种用于将C语言源代码转换为可执行程序的软件工具。它的主要功能是将C语言代码翻译成机器语言,以便计算机能够理解和执行。C语言编译器通常包括预处理器、编译器、汇编器和链接器等多个组件,它们协同工作以完成编译过...

关键字: C语言 编译器 Microsoft Visual C++

IAR Embedded Workbench 9.40版本引入了与指针验证和分支目标识别(PACBTI)扩展的无缝兼容性,保护嵌入式应用程序免受各种安全攻击。

关键字: 代码 嵌入式应用程序 编译器

在过去数十年,摩尔定律一直支配着半导体的发展。随着MCU的性能越来越强,嵌入式产品也越来越智能,嵌入式软件也变得越来越复杂。编译器作为嵌入式软件开发的基础工具,将程序员编写的源代码转换为底层硬件可以执行的机器指令。一款优...

关键字: 摩尔定律 嵌入式 软件开发 编译器

Python的创始人是一位荷兰籍的程序员——吉多·范罗苏姆(Guido van Rossum),江湖外号“龟叔”。据说这个外号是由于Guido的开头与龟的拼音gui相同得来的,所以Guido也被程序员们戏称为“龟叔”。在...

关键字: Python 编译器 人工智能

从汇编角度来说,如果“test %al, %al”能改成“test %0x1, %al”就没有匪夷所思的问题了,如此一来应该会降低CPU的效率,毕竟执行指令还需要一个立即数,我没搞过编译器也没设计过CPU,纯属瞎猜,能搞...

关键字: 汇编 CPU 编译器

ZigBee 无线网络节点开发平台软件开发平台 IAR Embedded Workbench(简称 EW)的 C/C++交叉编译器和调试器是今天世界最完整的和最容易使用专业嵌入式应用开发工具。EW 对不同的微处理器提供一...

关键字: IAR 无线网络 编译器

PathWave RFPro 与新思科技定制化编译器相辅相成,可提供无线晶片设计工作流程所需的整合式电磁模拟工具

关键字: 是德科技 集成电路 编译器
关闭
关闭