编译原理实战课- 极客时间课程推荐/优惠

编译原理实战课--极客时间课程推荐/优惠

带你吃透编译技术核心概念与算法
宫文学北京原点代码CEO
专栏 | 55讲 | 26549人已学习
优惠价¥59原价:129
官网优惠购买

版权声明

本站非极客时间官网,与官方无任何关系。我们不提供课程下载或详细内容,仅作为课程分享和推荐平台。我们鼓励大家支持正版,尊重创作者的劳动成果,这样不仅能帮助创作者持续产出优质内容,也能让自己获得更好的学习体验。请通过官方渠道购买和学习课程,感谢您的理解与支持。

课程详情

你将获得:

  • 编译原理的核心基础知识;
  • 7 大主流语言的编译器源码解读;
  • 真实编译器的实现机制与关键算法;
  • 从编程语言设计层面理解编译原理。

课程介绍

编译原理实战课,我们到底要学些什么?

在这门课程里,宫老师精选出了Java、Java JIT、Python、JavaScript、Julia、Go、MySQL这7种真实编程语言的编译器,带你阅读它们的源代码,跟踪它们的执行过程,弄懂它们的运行机制。在这个过程中,你会获得对编译器的第一手理解,并能够与自己理解的编译原理知识相互印证。

另外,宫老师还会带你分析和总结这些现代语言的编译器的结构、所采用的算法和设计思路,帮你更好地理解和把握一门现代语言的特性,让你对新一代语言的设计思考有拨云见日的通透感。

有些语言我都没接触过,解析这些编译器,我能学得会吗?我学了又有什么用呢?

  1. 能学得会吗?

当然可以了。在课程中,宫老师会梳理出这些不同语言编译器的源代码的重点和核心逻辑,并且会结合易懂、易读、易动手操作的示例程序,来带你一步步理解它们是如何运行的。

另外,其实你并不需要担心语言不熟悉的问题,因为现代的高级语言,相似度是很高的,即使是你不熟悉的语言,你也照样可以写一些基本的、试验性的程序,研究它的实现机制。

而且,学习编译原理的人会练就一项基本功,那就是更容易掌握一门语言的本质。我们这门课就是要帮你成为钻到铁扇公主肚子里的孙悟空,研究某一种语言的编译器,当然有助于你通过“捷径”去深入地理解这门语言。

  1. 学了有什么用?

学好编译器前端技术,你能为软件增加各种自定义功能、能够实现自己的DSL,甚至实现完整的前端解析器(比如SQL解析器); 学好编译器后端技术,你能写出更容易优化的代码,洞悉让代码性能更高的秘密,以及采用后端工具快速实现一门完整的语言。

不仅如此,通过分析真实编译器的代码,你能洞悉实现一个完整编译器的各种细节。当你把编译技术用于一个项目时,你就会了然于胸,应该在什么地方使用什么样的技术。因为你已经见识过了各种编译器的实现方式,因此能够权衡和取舍。对你而言,编译原理,不再仅仅是原理,而是随时可以出击的利剑!

这个课程和之前宫老师的《编译原理之美》专栏课有什么区别?

《编译原理之美》专栏课是从前端与后端两个层面来讲解编译原理的核心技术点,用具体的案例带你理解抽象的原理。宫老师说,这门课是带你在编译原理的世界里“读万卷书”,目的就是帮你一次性掌握编译原理最核心的概念、理论和算法。通过这门课,你能真正克服学习编译原理的畏难情绪,可以真正运用编译技术解决报表设计等实际问题。

《编译原理实战课》是从实战的角度切入,是学习编译原理的“行万里路”,老师会用你最擅长的写代码、读代码的方式,来带你分析真实的编译器到底是怎么写出来的。通过研究多种编译器,你可以多次迭代对编译器的认知过程。并通过分析对比,你能发现这些编译器之间的异同点,激发出更多的思考,从而能得到更全面的、更深入的认知。在解析编译器的过程中,你也能更深入地把编译原理知识与实践相结合。

课程模块设计

课程主体分为三个模块。

预备知识篇:简明扼要地梳理编译过程中各个阶段的主要工作,带你重温编译原理的知识体系,让你对这些关键概念的理解变得更加清晰。在这个过程中,你也能更好地建立具体实现跟原理之间的关联,互相印证。

真实编译器解析篇:带你研究Java、Java JIT、Python等7种语言编译器的源代码,跟踪它们的运行过程,分析编译过程的每一步是如何实现的,并会对有特点的编译技术点加以分析和点评,以此帮你吃透现代语言的核心特性,直接提高你的技术水平,让你更高效地学习编译原理知识。

现代语言设计篇:带你分析和总结前面研究过的7种真实语言的编译器,进一步提升你对相关编译技术的认知高度,让你对如何设计编译器的前端、中端、后端、运行时,都有比较全面的了解,知道如何在不同的技术路线之间做取舍。

课程目录

课前必读

  • 开篇词 | 在真实世界的编译器中游历
  • 学习指南 | 如何学习这门编译原理实战课?

预备知识篇

  • 01 | 编译的全过程都悄悄做了哪些事情?
  • 02 | 词法分析:用两种方式构造有限自动机
  • 03 | 语法分析:两个基本功和两种算法思路
  • 04 | 语义分析:让程序符合语义规则
  • 05 | 运行时机制:程序如何运行,你有发言权
  • 06 | 中间代码:不是只有一副面孔
  • 07 | 代码优化:跟编译器做朋友,让你的代码飞起来
  • 08 | 代码生成:如何实现机器相关的优化?
  • 知识地图 | 一起来复习编译技术核心概念与算法

不定期加餐

  • 不定期加餐1 | 远程办公,需要你我具备什么样的素质?
  • 不定期加餐2 | 学习技术的过程,其实是训练心理素质的过程
  • 不定期加餐3 | 这几年,打动我的两本好书
  • 不定期加餐4 | 从身边的牛人身上,我学到的一些优秀品质
  • 不定期加餐5 | 借助实例,探究C++编译器的内部机制

真实编译器解析篇

  • 09 | Java编译器(一):手写的编译器有什么优势?
  • 10 | Java编译器(二):语法分析之后,还要做些什么?
  • 11 | Java编译器(三):属性分析和数据流分析
  • 12 | Java编译器(四):去除语法糖和生成字节码
  • 13 | Java JIT编译器(一):动手修改Graal编译器
  • 14 | Java JIT编译器(二):Sea of Nodes为何如此强大?
  • 15 | Java JIT编译器(三):探究内联和逃逸分析的算法原理
  • 16 | Java JIT编译器(四):Graal的后端是如何工作的?
  • 17 | Python编译器(一):如何用工具生成编译器?
  • 18 | Python编译器(二):从AST到字节码
  • 19 | Python编译器(三):运行时机制
  • 20 | JavaScript编译器(一):V8的解析和编译过程
  • 21 | JavaScript编译器(二):V8的解释器和优化编译器
  • 22 | Julia编译器(一):如何让动态语言性能很高?
  • 23 | Julia编译器(二):如何利用LLVM的优化和后端功能?
  • 24 | Go语言编译器:把它当作教科书吧
  • 25 | MySQL编译器(一):解析一条SQL语句的执行过程
  • 26 | MySQL编译器(二):编译技术如何帮你提升数据库性能?
  • 热点问题答疑 | 如何吃透7种真实的编译器?

期中复习周

  • 划重点 | 7种编译器的核心概念与算法
  • 期中考试 | 这些编译原理知识,你都掌握了吗?
  • 用户故事 | 易昊:程序员不止有Bug和加班,还有诗和远方

现代语言设计篇

  • 27 | 课前导读:学习现代语言设计的正确姿势
  • 28 | 前端总结:语言设计也有人机工程学
  • 29 | 中端总结:不遗余力地进行代码优化
  • 30 | 后端总结:充分发挥硬件的能力
  • 31 | 运行时(一):从0到语言级的虚拟化
  • 32 | 运行时(二):垃圾收集与语言的特性有关吗?
  • 33 | 并发中的编译技术(一):如何从语言层面支持线程?
  • 34 | 并发中的编译技术(二):如何从语言层面支持协程?
  • 35 | 并发中的编译技术(三):Erlang语言厉害在哪里?
  • 36 | 高级特性(一):揭秘元编程的实现机制
  • 37 | 高级特性(二):揭秘泛型编程的实现机制
  • 38 | 综合实现(一):如何实现面向对象编程?
  • 39 | 综合实现(二):如何实现函数式编程?
  • 40 | 成果检验:方舟编译器的优势在哪里?
  • 期末答疑与总结 | 再次审视学习编译原理的作用

结束语

  • 结束语 | 实战是唯一标准!
  • 期末考试 | “编译原理实战课”100分试卷等你来挑战!

作者介绍

宫文学,北京原点代码CEO,连续创业者,2016年入选厦门市第九批“双百计划”领军型创业人才。他是国内最早做BPM(流程管理平台)和BI平台(大数据平台)的创业者之一,之后也做过电子表单和快速开发平台,这些经历都与编译技术密不可分。

作者其他课程

手把手带你写一门编程语言 - 极客时间课程推荐/分享/优惠/折扣
手把手带你写一门编程语言
从0到1,实现自己的编程语言
宫文学北京原点代码CEO
专栏 | 7843人已学习
优惠价¥59原价:129
官网优惠购买
编译原理之美 - 极客时间课程推荐/分享/优惠/折扣
编译原理之美
手把手教你实现一个编译器
宫文学北京原点代码CEO
专栏 | 46838人已学习
优惠价¥59原价:129
官网优惠购买

推荐

玩转Vue 3全家桶 - 极客时间课程推荐/分享/优惠/折扣
玩转Vue 3全家桶
基础+实战+源码,全方位学透Vue 3
大圣前百度前端架构师
专栏 | 39564人已学习
优惠价¥68原价:199
官网优惠购买
手机摄影 - 极客时间课程推荐/分享/优惠/折扣
手机摄影
从记录生活到创造故事
@随你们去独立摄影师
专栏 | 11403人已学习
优惠价¥59原价:129
官网优惠购买
苏杰的产品创新课 - 极客时间课程推荐/分享/优惠/折扣
苏杰的产品创新课
一次从想法到产品的低成本实验
苏杰良仓孵化器创始合伙人,《人人都是产品经理》系列图书作者
专栏 | 19347人已学习
优惠价¥59原价:129
官网优惠购买
 B端体验设计入门课 - 极客时间课程推荐/分享/优惠/折扣
B端体验设计入门课
7 周搞定 B 端体验设计全流程
林远宏(汤圆)全球服务设计协会(SDN)深圳主席,集创数智创新咨询创始人
专栏 | 2355人已学习
优惠价¥59原价:99
官网优惠购买
MySQL运维实战课 - 极客时间课程推荐/分享/优惠/折扣
MySQL运维实战课
学透 MySQL,搞定数据库运维难题
张新铭(俊达)云掣科技资深数据库专家,前淘宝网、支付宝数据库专家
专栏 | 1079人已学习
优惠价¥59原价:129
官网优惠购买
Tony Bai · Go语言第一课 - 极客时间课程推荐/分享/优惠/折扣
Tony Bai · Go语言第一课
大师带路,快速上手Go语言
Tony Bai资深架构师,tonybai.com博主
专栏 | 22510人已学习
优惠价¥59原价:129
官网优惠购买